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特定的中间件文档会告诉你订单是否重要,如果我们的事情,你应该以什么顺序配置它.. –