私はいくつかのAutofacモジュールを作成しました...今はweb.configを使ってコンテナに登録したいと思います。 config私は書いた:autofacのweb.configモジュールを読んで、ソリューション設定に応じてコンテナの設定を変更してください
<autofac defaultAssembly="Autofac.Example">
<modules>
<module type="DebugModuleTest1"></module>
<module type="DebugModuleTest2"></module>
</modules>
</autofac>
今私は自分のコンテナを構築する必要があります。しかし、autofacのドキュメントは私には分かりません。私は私のモジュールを読んでコンテナを作るために何をしなければならないのか分かりません。
public class MyCustomContainer
{
public void Build(HttpConfiguration config)
{
var builder = new ContainerBuilder();
Microsoft.Extensions.Configuration.ConfigurationBuilder x = new Microsoft.Extensions.Configuration.ConfigurationBuilder();
//var sec = x.AddInMemoryCollection().Build().GetSection("autofac");
// var y = x.AddXmlFile("Web.config");
var y = new ConfigurationBuilder().SetBasePath(AppDomain.CurrentDomain.BaseDirectory);
var z = y.AddXmlFile("Web.Config");
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
}
私はConfigurationSettingsReader
クラスを用意していないので、私はAutofacの最新バージョンを使用しています。
誰でも教えてください。このように、私は私のソリューション構成(あなたが知っている、古典web.debug.configに応じてweb.configファイルを「変更する」可能性があるため、私は、web.configファイルに興味深い省の構成を発見した
EDIT
、 web.release.config、など)...私はディレクティブの使用(の#ifかくかくしかじか、...)、または単に条件...
を避け、正しいモジュールを登録するのに役立つ可能性があり
私はすでにモジュールを使用していますが、正しい解決策がmodの中にプロパティを追加しているとは思いませんプロジェクトを展開したい選択された環境に応じて解決するコンポーネントを選択してください。 私はちょうどexampleを読むこの解決策を考えています(ちなみにFlexibility to OverrideはまだConfigurationSettingsReader
を指しています。それは大丈夫ですか?)
答えていただきありがとうございます。 私の回答が長すぎるため投稿を編集しました...私はあなたに "TL; DR"をしていないことを保証します。私の先週、私は仕事をやめてしまいました。私は読んで、試し始めました...私はすばらしい、クレイジーな、論理ベースのものをしたくありません、私はちょうど私ができる最も正しいことをしたい...私はやっている「うまくいく」というコードを望んでいません...私はすでにそれを持っていますが、私がやったことに満足していません... – Ciccio
あなたはあなたが質問するように質問していなかったように聞こえます。環境に基づいた設定? 3番目のヒントを追加しました。これはMicrosoftの設定システムで読み上げました。すべての拡張ポイントと処理が組み込まれているため、その上に構築しました。ドキュメントには複数の環境で作業する方法が示されています。 –
はい...あなたは正しいです...あなたが答えた直後に私の質問が間違っていることを理解しました。あなたの答えはわかった。どうもありがとうございました。 – Ciccio