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

c# - ライフタイム管理に ASP.NET セッションを使用する (Unity)

Unity を使用してカスタム ユーザー クラス インスタンスの有効期間を管理することを検討しています。カスタム ASP.NET セッション マネージャーを使用して LifetimeManager を拡張することを計画しています。私ができるようにしたいのは、現在ログインしているユーザー オブジェクトをカスタム クラスから保存および取得し、Unity に ASP.NET のセッション オブジェクトから User のインスタンスを取得させるか、(Win32 プロジェクトの場合) それを取得させることです。静的に、または現在のスレッドから。

これまでのところ、私の最善の解決策は、起動時に Unity コンテナーの静的インスタンスを作成し、Resolve メソッドを使用して各クラスから User オブジェクトを取得することです。ただし、これにより、他のクラスの Unity コンテナーへの依存関係が作成されるようです。この目標を達成するためのより「Unity」な方法は何ですか? 任意のクラスから現在の User インスタンスを読み取り/置換できるようにしたいと考えています。

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

unity-container - ファイルからではなく、xml ドキュメントから ms Unity コンテナーを構成することは可能ですか?

ファイルからではなく、xml ドキュメントから ms Unity コンテナーを構成することは可能ですか?

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

c# - Unity Framework のコンテナ タイプのコンストラクタ パラメータのタイプ

現在、構成ファイルを使用して、次のような Unity Framework 情報を提供しようとしています...

次のようなものを選択しSystem.String、具象クラスに文字列のコンストラクターを持たせると、Unity のこの構成ファイル情報がうまく機能します。文字列の代わりにを使用することを選択した瞬間、EnumUnity はこのようなエラーをスローします...

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

この構成プロセスを通じて、単純な型を超えて、Unity によって理解される型として何を渡すことができるかを理解する必要があると思います。

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

structuremap - Unity & StructureMap

UnityでこれのStructureMapに相当するものはありますか:

この小さなパターンに従おうとしています...

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

c# - Unity のジェネリック型をマップしようとしています

Unity Configuration を使用してクラス プロパティに依存関係を追加しようとしていますが、注入しようとしている型も汎用的です。「Google」について調べたところ、'1 構文を使用する必要があることがわかりました。Validation Application ブロックに関する David Hayden のチュートリアルに従っていますが、プログラムでタイプを登録するのではなく、構成ファイルを介して設定しています。

次に、マッピングとプロパティをここに登録します。

MyService 内には、次のプロパティがあります。

ただし、これを実行すると、次の例外が発生し、本当に頭を悩ませています。

System.InvalidOperationException: MyService 型のプロパティ Validator は IValidator'1 型であり、IValidator'1 型の値を挿入することはできません

どんな助けでも大歓迎です。

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

asp.net-mvc - アクションフィルターでUnityとasp.netmvcを使用してプロパティインジェクションを実行するにはどうすればよいですか?

プロパティインジェクションを使用して、アクションフィルターで依存性注入を機能させようとしています。フィルタへの依存関係を自動的に設定する方法がわかりません。これが私がこれまでに持っているコードです。

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

asp.net-mvc - Unity 依存性注入 - .config でインスタンスを登録する方法は?

これは C# Asp.net MVC プロジェクトです。

現在、global.asax.cs で Unity マッピングをセットアップしています。コンテナーのセットアップをコードから web.config に移動したいと思います。

私自身のタイプではすべてうまくいきましたが、次の行を翻訳する必要があります。

container.RegisterInstance(System.Web.Security.Membership.Provider);

(他のすべての構成行は container.Register Typeです)。

全然遠くに行きません。私も含めれば

設定エラーで停止します:

それはかなり奇妙です-それを解決するためにGACを見ていないようですか? または System.Web はまだ appdomain にありませんか?

System.Web を bin フォルダーに手動でコピーすると、先に進むことができ、問題の核心に到達できます。

与える:

アセンブリ 'System.Web' から型 'System.Web.Security.Membership.Provider' を読み込めませんでした。

型ではないので当然です。

ご指摘ありがとうございます。

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

asp.net-mvc - 依存性注入とModelStateWrapper

チュートリアルでは、ProductServiceのサービスレイヤーコンストラクターを使用した検証は次のようになります。

デフォルトのコントローラーコンストラクターのインスタンスは、次のように作成されます。

Unity for DIを使用したい場合は、明らかに2番目のコンストラクターを使用する必要があります。

しかし、ModelStateWrapperはコントローラー内で作成されて注入できないコントローラーからModelStateを使用するため、ProductServiseの最初のパラメーターを注入するようにUnityを構成するかどうかはわかりません。そのような依存関係をProductServiceに注入することは可能ですか?

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

c# - Unity Framework を使用したデータ アクセス レイヤーの単体テスト

これまでのところ 16 個のテーブルでデータベースを完成させようとしています。この ASP.NET プロジェクトの DAO レイヤーを単体テストする必要があります。

Unity フレームワークを使用してレイヤーを分離しているので、具体的なクラスが挿入されているため、インターフェイスに対してテストする単体テストに DAO レイヤーを割り当てることができるはずです。

単体テストには C# 2008 Express を使用しています。

インターフェイスに対するテストを作成しようとしたことはありませんが、うまくいくことを願っていますが、最終的に DAO レイヤーをより適切に実装した後に試してみます。

これは、VS2008 Express に付属している単体テスト フレームワークを使用して正しく動作するはずですか?

編集: 前述のとおり、Express バージョンには単体テスト オプションがないため、単体テストに NUnit を使用し、データベースに直接アクセスして、データベース内のすべての機能をテストできるようにします。

0 投票する
7 に答える
95669 参照

c# - UnityのResolve()メソッドにコンストラクターパラメーターを渡すことはできますか?

依存性注入にMicrosoftのUnityを使用していますが、次のようなことをしたいと思います。

RepositoryAどちらにもパラメーターRepositoryBを受け取るコンストラクターがあり、IDataContextUnityに渡したコンテキストでリポジトリーを初期化してもらいたいです。IDataContextまた、Unityに登録されていないことに注意してください(3つのインスタンスは必要ありませんIDataContext)。