2017-11-01 13 views
1

Configureの有効なパラメータは、Startupクラスでどのように決定されますか?受け入れ可能なパラメータがドキュメントのどこにあるのか誰にでも知られていますか?例えば起動時に有効な構成シグネチャは何ですか?

、次の両方が有効です。

public void Configure(IApplicationBuilder app, ILoggerFactory loggerfactory) 
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory) 

答えて

4

起動方法ConfigureServicesConfigureが慣例によって呼び出され、渡されたパラメータは、実行時に決定されているので、実装するいかなる固定署名が存在しません(明示的にIStartupを実装しない限り)。

ConfigureServicesメソッドは、1つのパラメータ、IServiceCollectionのみを許可します。このメソッドは、その引数を持つことも、まったく持たないこともできます。他のすべての署名は、アプリケーションの起動時にInvalidOperationExceptionになります。

Configureメソッドの方がずっと柔軟です。アプリケーションのミドルウェアパイプラインをセットアップするために必要な実際のIApplicationBuilderは別として、の任意のパラメータを追加できます。引き数は実行時に評価され、依存性注入からが解決されます。

依存関係はサービスコレクションに登録されているため、依存関係注入を使用して解決できます。

これはまたapplication startup documentationで文書化されていますIHostingEnvironmentILoggerFactoryなどの

追加サービスは、また、彼らが利用可能な場合、これらのサービスはinjectedされる場合には、メソッドのシグネチャで指定することができます。

+0

大きな説明とリンクが見つかりませんでした。ありがとうございます。 –

関連する問題