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固有のミドルウェアドキュメントは、注文が重要かどうか、そして私たちの問題がどのような順序で設定されるべきかを伝えます。 –