問題タブ [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.

0 投票する
1 に答える
4456 参照

inversion-of-control - プロパティSpring.Netで配列を挿入します

私はSpring.NetIoCコンテナを使用していて、それを使用してタイプのプロパティを挿入できますが、タイプのプロパティを挿入する方法については少し困惑していIListます。IList<T>string[]

<array>XSDで定義された要素がないようで、使用<list> <value> </list>も機能しません。

誰かがxmlを投稿できれば、プロパティの配列を使用して挿入する必要があります。

0 投票する
1 に答える
1439 参照

.net - .NET IoC - .NET Unity の同等のコード

この Autofac IoCの記事では、パラメーターを使用してインターフェイスを実装にマッピングする例を示しています。記事の途中で見つけることができます。

XML で Unity に相当するものは何ですか? 私がやっていることには流暢な構文を使用できません。外部構成ファイルである必要があります。

更新
これは、Unityで行う方法を知りたい特定のコードです-

この方法で接続文字列を渡す最大の例ではないかもしれませんが、要点はわかります。Unity で XML のパラメーターを実行する方法を知りたいです。

0 投票する
2 に答える
1545 参照

asp.net - Ninject、ASP.NET、およびカスタム コントロール

現在、ASP.NET (MVC ではなく標準) を使用しており、IOC コンテナーとして Ninject を使用しています。

ページに依存関係を挿入するために既に使用していますが、カスタム コントロールに依存関係を挿入する方法があるかどうか疑問に思っていました。

そうでない場合は、Ninject の拡張を開始します :)

0 投票する
1 に答える
353 参照

linq-to-sql - 依存性注入で使用するlinq2sql?

linq2sqlで依存性注入を機能させる方法を知っている人はいますか? これが私の状況です..

ここでできる限り説明します。

DBML(linq2sql)とクラスなどを持つ基本クラスがあります..このDBMLは複数のプロジェクトに共通です..各プロジェクトには独自のDBMLがありますが、私が使用している共通のdbmlにあるすべてのテーブルなどがあります基本クラスで-それは理にかなっていますか?!

私のプロジェクトのそれぞれは、基本クラスを継承してそれを拡張することによって新しいクラスを作成します...しかし、プロジェクトで特に使用するdbmlにはCOMMONにあったすべての機能といくつかの機能があるため、もちろん、dbmlを再注入する必要があります

私はここで少し迷っています..誰もがこれを達成する方法を知っています..私はそれを十分に説明したいと思います:-)

Unity などを使用したいと思っていましたが、linq2sql によって作成されたクラスはインターフェイスを実装していないようです...これは DI で問題になるのでしょうか?

ありがとう

0 投票する
2 に答える
1225 参照

castle-windsor - winsdor コンストラクターパラメーターを使用してジェネリック型を登録する

私はこのようなものを持っています

}

したがって、このジェネリック型を winsdor に登録し、パラメーターを渡す必要があります。

私はこれを次のようにしようとしてきました:

次のエラーが表示されます

満たすべき依存関係があるため、コンポーネント 'key1' を作成できません。key1 は次の依存関係を待機しています:

キー (特定のキーを持つコンポーネント) - 登録されていない cs。

0 投票する
4 に答える
3894 参照

c# - ASP.NET MVC を使用したセッション ライフスタイルごとのキャッスル プロジェクト

Castle Windsor IoCコンテナは初めてです。IoC コンテナーを使用してセッション変数を保存する方法があるかどうかを知りたかったのです。私はこの行で何かを考えていました:

検索オプションを格納するクラスが必要です。

そして、それを使用する必要があるクラスにそれを挿入します。

次に、城を構成するweb.configで、次のようなものが必要です。

また、自分で明示的にアクセスしなくても、IoC コンテナーがセッション オブジェクトを処理できるようにします。

これどうやってするの?

ありがとう。

編集:いくつかの調査を行っています。基本的に、私が欲しいのは、セッションスコープコンポーネントを持つことです。私は Java と Spring Framework の出身で、セッション データを保存するのに非常に役立つと思われるセッション スコープの Bean があります。

0 投票する
1 に答える
3470 参照

asp.net - Autofac、ASP.NET、および Microsoft.Practices.ServiceLocation

私は、Web アプリに IoC を実装するための詳細を調べてきましたが、Microsoft.Practices.ServiceLocation を活用する方法で行いました。私は特に Autofac と asp.net の統合を使用していますが、他のコンテナーに対して自分自身を開いたままにしたかったのです。この質問の行に沿って、Web アプリ コードでコンテナーにアクセスする方法が心配でした。

主に解決するインターフェイスを定義する「コア」ライブラリがあります。このコア ライブラリは、私の Web アプリや他のアプリでも使用されています。共通のインターフェースを定義すると非常に便利です。これは、IoC コンテナーへのアクセスを配置するのに最適な場所だと思い、静的クラスを使用して実行しました。トリックは、コンテナを静的クラスに注入することです。

Web 環境ではコンテナがリクエストごとに異なる可能性があるため注意が必要ですが、Web 以外のアプリでは常に同じになる可能性があります。最初はコンテナにメソッドを直接注入しようとしましたが、次の Web リクエストですぐに失敗しました。だから私はこれを思いついた:

今私のglobal.asax.csでこれを行います:

そして、依存関係を解決するための呼び出しは次のようになります

したがって、特定のコンテナーを渡すのではなく、コンテナーを取得する方法を知っているデリゲートを渡します。非 Web アプリケーションの場合、デリゲートはおそらく build() が提供するものを返すだけです。

専門家への私の質問は、これは理にかなっていますか? コンテナー製品が何であるか、またはコンテナー自体がどこから来たのかを知らなくても、依存関係を解決できるものにたどり着く簡単な方法があります。どう思いますか?

0 投票する
2 に答える
2981 参照

c# - コンストラクターの解決順序は何ですか?

複数のコンストラクターが存在する場合、Castle Windsor はどのコンストラクターを解決するかをどのように決定しますか?

0 投票する
4 に答える
6801 参照

c# - Unity のカスタム オブジェクト ファクトリ拡張機能

私は Unity IoC コンテナを使用しています。特定のベース インターフェイスの Resolve への呼び出しをインターセプトし、独自のカスタム コードを実行してそれらのタイプを構築する必要があります。

つまり、以下のサンプル コードでは、 を呼び出すとcontainer.Resolve<IFooN>()、具体的な実装型のインスタンスを取得していない場合は を呼び出しMyFactoryFunctionて構築し、それ以外の場合はキャッシュされたコピーを返します。

標準の Unity コンテナーはこれらのオブジェクトを構築できません (更新:これらは .NET リモート オブジェクトであるため、具体的なクラスはローカル コンピューター上のどのアセンブリにも存在しません)。事前にそれらを作成したくありません。それらを RegisterInstance に保存します。

これを行うための Unity 拡張機能を作成できると想定していますが、借用できるソリューションが既に存在するかどうか疑問に思っていました。

0 投票する
2 に答える
141 参照

dependency-injection - DI コンテナー: 同じ型のコレクションから適切なコンポーネントを注入しますか?

コンストラクター注入に基づいて、PHP で独自の依存性注入コンテナーをハックしようとしています。コンテナーは複雑なオブジェクトをインスタンス化し、リフレクションを使用してコンストラクターの型ヒントに基づいて必要なオブジェクトを挿入します。

私が明らかにつまずいたことの 1 つは、同じタイプ (同じクラスを拡張する/同じインターフェイスを実装する) の、注入できる複数のコンポーネントを登録できるという事実です。たとえば、2 つのオブジェクトがどちらも Iterator インターフェースを実装する別個のオブジェクトを必要とする場合はどうなるでしょうか。通常、DI コンテナーはこれにどのように対処しますか? あいまいなインターフェースを持つどのオブジェクトをどの複雑なオブジェクトに注入する必要があるかをコンテナーにどのように判断させるのでしょうか?

それとも、1 つのタイプの複雑なオブジェクトの作成を担当するのは、単一の DI コンテナだけですか? つまり、複雑なオブジェクトごとに個別の DI コンテナーをインスタンス化します。これが意図されているとは想像しがたいですよね?