2
在C#中ASP.NET中間件應用程序的順序是否重要?我可以以任何順序將中間件應用到應用程序嗎?
以下2的代碼片段:
public class Startup
{
...
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
setUpMVCRoutes(app);
app.UseSwaggerUi("foobar/api", "/foobar/v3/api.json");
app.UseSwaggerGen("foobar/{apiVersion}/api.json");
app.UseDefaultFiles();
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseStaticFiles();
app.UseIdentity();
app.UseCookieAuthentication();
}
...
}
這
public class Startup
{
...
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseIdentity();
app.UseCookieAuthentication();
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseDefaultFiles();
app.UseStaticFiles();
setUpMVCRoutes(app);
app.UseSwaggerGen("foobar/{apiVersion}/api.json");
app.UseSwaggerUi("foobar/api", "/foobar/v3/api.json");
}
...
}
有什麼區別?我想如果這個中間件的工作方式類似於python裝飾器或者只是一些執行某些操作並將結果傳遞給下一個函數的函數的管道,那麼它可能很重要。
那麼,我怎麼知道什麼應該在什麼後?我想將僅適用於開發環境的中間件,僅適用於生產環境的中間件,以及不同方法中常見的中間件組合起來。 – CrabMan
@crabman特定的中間件文檔會告訴你訂單是否重要,如果我們的事情,你應該以什麼順序配置它.. –