ASP.NET MVCの内部の詳細を知っているシニアレベルのASP.NETアーキテクトからの回答を探しています。Startup.csオブジェクトの参照を取得する
ここに標準ASP.NETコアアプリケーションのスケルトンがあります。 ASP.NET装置はStartup.cs
クラスのインスタンスをインスタンス化し、この作品では
var config = new ConfigurationBuilder()
.AddCommandLine(args)
.AddEnvironmentVariables(prefix: "ASPNETCORE_")
.Build();
var host = new WebHostBuilder()
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
.UseStartup<Startup>()
私のクエリは、私はスタートアップオブジェクトのこの既にインスタンスインスタンスのホールド(参照)を得ることができる方法である私ができますライブラリ/フレームワークにプラグインします。
コンテキストは、いくつかのUberレベルのフレームワークをセットアップし、すべての要求が開始されているこのジャンクション(Startup.cs)の参照を取得することです。
おかげで、これは有望と思われる、私は、 '' Startup'クラスへのインタフェースとしてIStartup'が、それは 'ConfigureServices'の戻り値の型のために文句を言っています追加しました質問は 'ConfigureServices'の中で' IStartup'インターフェースの要件に合うように返すべきものです、私は.netに慣れています。 – user2727195
@ user2727195例を使って答えを更新しました。 – Evk
おかげさまで、ビジュアルスタジオコードは、例えば、 'ConfigurationBuilder'や' IConfigurationRoot'のように、依存性が少ないと不平を言っています。私はジェネレータ 'yo aspnet'を使って基本的な素裸の骨を作りました。私のフレームワークでは重い持ち上げが行われるので、 'Startup.cs'レベルで最も単純な実装をしたいと思っています。また、独自のカスタム実装があるので、 'asp.net mvc'の' mvc'にプラグインしたくありません。非常に単純なレベルでは、Startupオブジェクトが着信要求を自分のフレームワークに委譲するだけです。 – user2727195