Kann ich Middleware in beliebiger Reihenfolge auf die App anwenden?
In C # ASP.NET spielt die Reihenfolge der Middleware-Anwendung eine Rolle?
Die folgenden 2 Code-Schnipsel:
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();
}
...
}
und da
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");
}
...
}
Gibt es einen Unterschied? Ich stelle mir vor, dass es wichtig sein könnte, wenn diese Middleware ähnlich wie Python-Dekoratoren oder nur eine Pipe mit Funktionen funktioniert, die etwas bewirken und die Ergebnisse an die nächste Funktion weitergeben.