簡體   English   中英

Azure Function Request執行后App IFunctionInvocationFilter丟失Request body

[英]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

function 過濾器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM