[英]Azure Function App IFunctionInvocationFilter loses Request body after Request executes
我在 Azure Function 上有一個過濾器,它在主要的 function 操作完成后立即執行一些任務。
public async Task<IActionResult> DoStuff(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "notImportant")]
HttpRequest req,
ClaimsPrincipal principal)
{
string bodyContent = await new StreamReader(req.Body).ReadToEndAsync(); //Always has content
}
我的過濾器看起來像這樣:
public class TraceAuditFilter : IFunctionInvocationFilter
{
public TraceAuditFilter()
{
}
public async Task OnExecutedAsync(FunctionExecutedContext executedContext, CancellationToken cancellationToken)
{
var request = (HttpRequest)executedContext.Arguments["req"];
string body = new StreamReader(req.Body).ReadToEnd(); //Always Empty
}
}
我的過濾器成功觸發,但過濾器方法中的“正文”始終為空。 任何想法是什么重置它?
我們需要添加 function 過濾器 class 作為屬性。
這可能是一個原因,因為過濾器沒有在函數中被調用。
需要在function中添加[TraceAuditFilter]
,這樣過濾器才能通過。
請參閱以下文章以獲得深入解釋:- IFunctionInvocationFilter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.