将自定义标头添加到Azure Functions响应

时间:2019-01-16 12:57:45

标签: azure azure-functions

我正在使用Azure Function App(v2),该程序在同一Function App中具有许多不同的功能。

它将被部署在多个Azure区域中,我想添加一个自定义标头,以指示哪个区域满足了请求。

我知道我可以让每个函数返回HttpResponseMessage,其中可以包含自定义标头。我不想将代码复制到每个功能中,而是希望将其集中在整个Function App项目中。返回HttpResponseMessage的另一个缺点是我想使用IActionResult,因此可以使用JsonResultOkObjectResult以及类似的返回类型。

对于一个ASP.NET MVC项目,我可以添加一个添加标题的中间件,或者使用web.config添加标题。在功能应用程序中似乎都不可行。

如何做到这一点而不必返回HttpResponseMessage并将标题添加到每个函数的Run方法中?

1 个答案:

答案 0 :(得分:6)

我能够通过请求的HttpResponse访问HttpContext对象来做到这一点。

例如:

req.HttpContext.Response.Headers.Add("ETag", entity.ETag);
return new OkObjectResult(entity);

产生: enter image description here