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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage