如何在启动类中使用 Azure Function 中的中间件
Posted
技术标签:
【中文标题】如何在启动类中使用 Azure Function 中的中间件【英文标题】:How to use Middle Ware in Azure Function in start up class 【发布时间】:2021-10-06 03:22:49 【问题描述】:我正在寻找使用中间件来解密在 startup.cs 类中传入 azure 函数的 http 请求。 下面是我的入门课
公共类启动:FunctionsStartup 公共覆盖无效配置(IFunctionsHostBuilder 构建器) 如果(建造者 == 空) 抛出新的 ArgumentNullException(null, new Exception()); ConfigureServices(builder.Services).BuildServiceProvider(true);
IFunctionsHostBuilder 不包含任何类似builder.UseMiddleware 的方法?所以不知道如何做到这一点。 有人可以帮忙吗
【问题讨论】:
【参考方案1】:如何在启动类中使用 Azure Function 中的中间件
首先Azure Functions默认没有startup
类,但是可以使用IWebJobStartup
添加服务,其次你不能在启动类中添加自定义中间件。
相反,您可以通过实现IHttpMiddleware
或子类HttpMiddleware
来创建自己的中间件功能
public class UtcRequestDateMiddleWare : HttpMiddleware
public override Task InvokeAsync(HttpContext context)
context.Response.Headers["x-request-date-utc"] = System.DateTime.UtcNow.ToString("o");
查看SO 以获取更多参考
了解如何创建Middleware Functions
【讨论】:
以上是关于如何在启动类中使用 Azure Function 中的中间件的主要内容,如果未能解决你的问题,请参考以下文章
Azure Function IWebJobsStartup 实现中的 ExecutionContext
Azure Function v3 - 在启动中添加标识时“无法访问 Azure Functions 运行时”