我正在爲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。 –