問題タブ [ioc-container]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dependency-injection - Container.GetAllInstancesと同等のものは何ですかNInjectで?
NInjectを使用してメッセージブローカーを構築しています。コンテナー内で、特定のメッセージタイプを消費できるものとしてクラスをマークするインターフェイスであるConsumesを実装するすべてのインスタンスを見つける必要があります。
このシナリオはサポートされていますか?
silverlight - ninject-contrib は Silverlight をサポートしていますか?
Prism で Silverlight アプリケーションを構築しており、NInject を使用したいと考えています。NInject ブートストラップを使用するために ninject-contrib をダウンロードしましたが、Silverlight アセンブリをビルドしていないようです。自分で Silverlight にコンパイルしましたが、Visual Studio がクラッシュします。
ninject-contrib を Silverlight に正常に移植した人はいますか?
.net - ninject はコンテナーと見なされますか?
私は誰かと話していて、IOC を学んでいて、ninject を使って感覚をつかんでいると言いました。
彼は、私が使用しているコンテナは何ですか?と尋ねました。私は彼にninjectを言った。
彼が何を指しているのかわからなかったが、より人気のあるキャッスル ウィンザー製品があることは知っている.
誰かが私のためにこれを片付けることができますか? ここで何が欠けていますか?
.net - 型のコンストラクターがわからない場合、どのようにしてNinjectプロバイダーを作成しますか?
私はFubuMVCと相互作用するためにコンテナアセンブリを想起させることを試みることにしました。すばらしいのは、FubuMVC.Container.StructureMapアセンブリが行うすべてのテストに合格することです。しかし、それをFubuSampleにドロップしたとき。アクティベーションエラーが発生しました。
エラーは、ビヘイビアーのプロバイダーで、ビヘイビアーインスタンスを構築するためにパラメーターなしのコンストラクターを呼び出しているだけだからです。それは実際の生活では受け入れられないように思われます。
設定方法は次のとおりです。
私のLoadメソッドには、次のバインディングが含まれています。
私のプロバイダーのCreateメソッドは次のとおりです。
だから私の質問は、コンストラクターがどのように見えるかわからないときに、サービスのインスタンスを作成するためにプロバイダーにどのように設定する必要があるかということです。むしろ、ConstructorInfoを使用してコンストラクターを確認した場合、Ninjectは適切な依存関係を注入しますか?
FubuMvcにはCommonServiceLocatorのサポートが必要なため、これはNinject2bを使用しています。
.net - Windsor AddComponentInstance の問題
xml 構成ファイルを使用して城のウィンザーを正常にセットアップし、すべて正常に動作します。唯一の問題は、メソッドで既存のインスタンスをコンストラクターに渡すためにウィンザーが必要なため、使用したことです
Resolve メソッドの前ですが、Windsor が xml 構成ファイルに基づいて IMyClass の新しいインスタンスを作成するため、これは機能しません。既存のインスタンスを渡す必要があるこの特定のメソッドを除いて、他のすべての場所で問題がなければ、その動作。どうすればその問題を解決できますか。Webでドキュメントを見つけようとしましたが、今まで運がありませんでした:(。
asp.net-mvc - NinjectMVCはMVC2プレビューで動作するはずですか?
MVC 2プレビューを実行していますが、Ninject2MVCを使用するのはこれが初めてです。
私が継続的に取得しているエラーは次のとおりです。タイプ'MyMVC.Controllers.EventsController'のコントローラーを作成しようとしたときにエラーが発生しました。コントローラにパラメータのないパブリックコンストラクタがあることを確認してください。
Global.csにあるのはこれです:
そして、これは私のコントローラーがどのように見えるかです。
unity-container - オブジェクトを破棄する Unity
ティアダウンの一部として、Unity にプロパティが注入されたオブジェクトを破棄させる方法はありますか?
背景は、ASP.NET MVC 2、Unity、および WCF を使用するアプリケーションに取り組んでいることです。Unity を使用してコントローラーをインスタンス化する独自の MVC コントローラー ファクトリを作成し、コントローラーのパブリック プロパティの [Dependency] 属性を使用して WCF プロキシを挿入します。ページのライフ サイクルの最後に、コントローラー ファクトリの ReleaseController メソッドが呼び出され、IUnityContainer.Teardown(theMvcController) が呼び出されます。その時点で、コントローラーは期待どおりに破棄されますが、注入された wcf プロキシも破棄する必要があります。(実際には、Dispose ではなく Close や Abort を呼び出す必要がありますが、それは後の問題です。)
もちろん、コントローラーの Dispose メソッドをオーバーライドして、そこにあるプロキシをクリーンアップすることもできますが、コントローラーに、注入されたインターフェイスのライフサイクルや、WCF プロキシを参照していることさえ知らなくて済むようにしたくありません。
このために自分でコードを書く必要がある場合、最適な拡張ポイントは何でしょうか? ポインタをいただければ幸いです。
asp.net - ASP.Net 環境の ServiceLocator/IOC
静的 Dictionary を使用して実装された単純な ServiceLocator クラスを含む自家製のフレームワークがあります。これは WinForms 環境用に開発されたもので、私が望んでいたことをうまく実行しました。
フレームワークを ASP.Net フレームワークとして使用する場合、これは大惨事であることがわかります。静的変数であるディクショナリは、最初の使用時にインスタンス化され、すべての ASP.Net アプリケーションが同じディクショナリを使用します。これは私の設計意図ではありません。
たとえば、Web アプリケーションは DB 監査サービス IAuditService の登録を試みます。エラー!!サービスはすでに最初のユーザーによって登録されています! ASP.Net 環境で発生する可能性のある静的変数の問題のヒントにすぎません。
Autofac IOC を試してみました。Autofac (または他の IOC) を使用して静的変数の問題を回避できますか?
BP....
.net - Autofacには、*オプションの* Xml構成のベストプラクティスがありますか?
背景:ライブラリを他の開発者に配布したかった(SDKまたはツールキットに沿っていくつかの内部Webサービスを抽象化したもの)。基盤となるサービスのさまざまなバージョンを注入するために、主にスタブのためにAutofacを使用しています。このアセンブリを、IoCを理解しているユーザーと理解していないユーザーの幅広い開発者に配布したいと思います。
精通した開発者であれば、注入する独自の実装を作成できます。それ以外の場合、開発者は構成なしでアセンブリを使用でき、IoCが内部で発生していることを認識または気にすることはありません。
楽しいこと: AutofacにXml構成を提供することも、プログラムでコンポーネントを構成することもできます(後者が推奨される方法です)。この場合、実行時まで何が構成されているかわからないため、Xml構成が必要になる可能性があります。AutofacにXml構成が存在する場合はそれを使用させる方法はありますか?それ以外の場合、何も提供されていない場合は無視しますか?
注:特定のセクション(「autofac」)の構成を調べることで、これを手動で実装できます。そこにない場合は、電話しないでください
構成を手動で検査するよりも、これを行うためのより良い方法はありますか(Autofac内に隠された魔法のようなものが望ましいです。これは、要求されたすべてのことを実行できるようです!)
c# - 複数の具象実装によるキャッスル ウィンザー依存性注入
Castle Windsor が単一のインターフェースの複数の具体的な実装をコンストラクターに注入する方法はありますか?
私はこのようなことをしたい:
このレベルでは にアクセスできないので、IWindsorContainer
そのままにしておきたいと思います。