問題タブ [unity-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 投票する
4 に答える
5493 参照

inversion-of-control - Unity フレームワークは制御の反転に適していますか?

少し前からIoCを使っているのですが、MicrosoftのUnityフレームワーク(正式名称「Unity Application Block」)を使うべきか迷っています。誰もそれを使用した経験がありますか? そのため、IoC コンテナー コードをプロジェクトからプロジェクトにコピーしてきましたが、標準的なものを使用する方がよいと思います。IoC は、コンポーネント ベースのアプリケーションを疎結合して変更可能に保つという点で大きな違いを生むことができると思いますが、私は決して IoC の専門家ではないので、依存関係として隅に追いやられるフレームワークに切り替えるのは緊張しています。いつか立ち去りたいと思うでしょう。

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

.net - Unity/ObjectBuilder から型を解決するためにいくつかのデフォルト アセンブリを追加する方法はありますか?

MS Unity IoC フレームワークを使用して、最初のプロジェクトに取り組んでいます。

私のユニティ構成にこれがある場合:

次に、エラーが発生します。

アセンブリ 'Microsoft.Practices.Unity.Configuration、Version=1.1.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' から型 'PFServer.DataAccess.TestDataAccess' を読み込めませんでした。

ただし、アセンブリ名を型定義に追加すると、次のようになります。

その後、正常に動作します。型をロードするアセンブリの既定のセットを追加する方法はありますか? この場合の奇妙な点は、"PFServer.dll" がこのすべての構成を含むアセンブリであることです。現在のアセンブリがオブジェクトを解決するパスにないのは奇妙だと思います...または、何か間違っているのでしょうか?

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

.net - MEFは依存性注入フレームワークですか?

最近発表された.NET4.0のマネージドエクステンシビリティフレームワーク(MEF)-依存性注入フレームワークですか?Patterns andPracticesのMicrosoftUnityは4.0で廃止されますか?MEFはUnityのようなフレームワークとどのように比較されますか?

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

c# - Unity アプリケーション ブロック、継承された注入

Unity Application Block の使用に問題があります。Composition という基本クラスを作成しました。

各コンポジションには IUnityContainer が含まれています。最上位オブジェクトの UniversalComposition を作成するときに、UnityContainer で初期化したいと考えています。

IUnityContainer.CreateChildContainer メソッドを使用して、子 IUnityContainer をそれに挿入したい UniversalComposition から作成されるオブジェクト。

0 投票する
3 に答える
2107 参照

.net - Unityの「リストインジェクション」?

同じインターフェースを介して 1 対多のバックエンド システムに接続するプロジェクトが近づいています。それを IBacksideProvider と呼びましょう。

Unity を使用して、実行時にこれらのプロバイダーを挿入したいと考えています。問題は、1...n 個のバックエンド システムについて話しているため、IBacksideProvider の 1...n 個の実装を登録する必要があることです。Unity は、そのままではこれをサポートしていません。

ただし、このブログ投稿は、それが可能であることを示唆しています。誰かがこれを行ったことがあるか、またはこれを行うために Unity を操作する方法を考えているかどうか疑問に思っています。ティア。

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

c# - UnityContainer、子コンテナの注入

私は Unity Application Block にかなり慣れていないので、次の実装に少し手こずっています。親コンテナと子コンテナがあります。子コンテナーの新しいインスタンスを解決するときに、CreateChildContainer メソッドを使用して新しい UnityContainer をコンストラクターに挿入します。

0 投票する
3 に答える
2774 参照

inversion-of-control - ジェネリック型依存性注入: T を注入する方法

アプリケーションでさまざまな種類のドキュメントを同じ方法で処理したい したがって、次のような汎用インターフェイスがあります。

そして、さまざまな種類のドキュメントに対して、このインターフェイスを実装します。

例えば:

次に、もちろん次のようなことができます。

上記の行を疎結合にするために、実行時に T を注入する方法を知ることは興味深いでしょう...

しかし、構成ごとに、FinanceDomcumentProcessor または MarketingDocumentProcessor を使用するかどうかを決定したい...したがって、左側のサイトにも T を注入する必要があります... c# 2.0 を使用する必要があるため、魔法の言葉は使用できませんこの場合、「var」は非常に役立ちます...しかし、これをオープンで柔軟に設計するにはどうすればよいですか...


誤解して申し訳ありませんが、すべてのコメントに感謝しますが、私の課題には別の例があります (おそらく、間違った設計を使用している可能性があります) ...しかし、試してみます: 同じ状況ですが、異なる説明

私が持っている画像の例:

ReportingService、Crystal、ListAndLabel 3 つの異なるレポート ドキュメント タイプ。私は一般的なハンドラーIReportHandler<T>(上記と同じ) を持っています。このハンドラーは、レポート ドキュメントを処理するためのすべての機能を提供します。例えば

Reportingservicesここで、Unity のようなフレームワーク (または他のフレームワーク) を依存性注入に使用して、Crystal を使用するか、リストとラベルを使用するかを構成によって決定したいと考えています。

マッピングを指定すると、 my を注入できますChrystalReportHandlerが、どのように T を左側に注入できますか、より良い言葉で言えば のタイプReportDocument.

私の問題はもちろん左側のサイトですが、それはタイプに結合されていますが、マッピングがあります...マッピングに基づいてオブジェクトを生成し、マッピングされたタイプを割り当てることは可能でしょうか? または基本的に左側にもTを注入しますか?または、このアプローチはこの状況には適していません。

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

c# - 実行時に UnityContainer から既に登録されている型を削除しますか?

Unityコンテナからすでに登録されているタイプを削除するか、少なくとも既存のインターフェイス/タイプマッピングを別のものに置き換える簡単な方法があるのだろうか. 別のクラス タイプをインターフェイスにマップするだけで十分で、古いタイプは上書きされますか?


これは頻繁に起こるべきではありません。実際にはほとんどありませんが、他の部分に影響を与えずに、あるインターフェイスを実装するサービスを別のサービスに置き換えたい場合があります。

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

configuration - UnityIOC構成

クラスがあります

Unity XML構成を使用して構成したいのですが、C#のコードを使用して、すでに次のように構成できます。ここで、「container」はUnityコンテナーです。

通常のユニティコールを使用して問題なく解決します

container.Resolve( "myBroker");

しかし、現在、私のxmlは最終パラメーターIMyBrokeredObjectを解決できません。上記のコードのように、Unityが単純に型を挿入することで型を解決しようとしているため、解決例外が発生します。

何か案は?

0 投票する
5 に答える
3131 参照

c# - Castle WindsorからUnityへ-CWと同じようにUnityで自動構成できますか?

これがあまりにも具体的な質問であるかどうかはわかりませんが、可能であれば、Microsoftが承認していないライブラリに依存しないように、CastleWindsorを使用するアプリをUnityに移植する必要があります。私は知っていますが、あなたは何をするつもりですか。

とにかく私はそれを管理しましたが、私は私が持っているものに満足していません。ウィンザーで私はこれを持っていました:

私はこれに統一して変換しました

ご覧のとおり、ある種の自動構成を使用するのではなく、すべてのものを登録する必要があります。だから私の質問は:これを団結して行うためのより良い方法はありますか?

ありがとう、

アダム。