我正在为ASP.NET核心网站构建一个支持库。我有几个需要启用的中间件,他们需要在任何其他中间件之前添加,因为他们所做的事情。在ASP.NET Core中,有没有什么方法可以从Program.cs设置中间件?
我可以在IWebHostBuilder上创建一个扩展方法来添加服务,同样也用于配置日志记录,但我没有看到任何方式以编程方式添加中间件。有没有办法做到这一点?查看WebHost/WebHostBuilder的源代码并没有跳出来。
鉴于第一条评论,我可能不够清楚。我知道如何创建中间件并使用它。我想要做的是确保在框架启动时调用Configure(IApplicationBuilder应用程序)方法时,我的中间件已经就位。以类似的方式在启动之前即可创建ServiceConfiguration。因此,像
public static IWebHostBuilder AddPayscaleHostingServices(this IWebHostBuilder webHostBuilder, string serviceName)
{
return webHostBuilder.ConfigureServices(collection =>
{
collection.RegisterPayscaleHostingServices();
}).ConfigureLogging(factory =>
{
});
}
扩展方法给我做之前webHostBuilder.Build方法进行一些设置的能力,但我没有看到关于IApplicationBuilder中间件/任何类似的事情。
感谢, 埃里克
请参考这一点,首先做自己的研究。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware – wannadream
我知道如何创建中间件,并且我知道如何添加中间件。我不知道的是如何确保在Startup类上调用Configure方法之前启用了我的中间件。在完美的世界中,我将有机会在用户代码之前触摸IApplicationBuilder。 –