問題タブ [structuremap]
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.
structuremap - StructureMap: 非静的コンテナーを取得する方法はありますか?
私が見たすべての StructureMap の例では、静的な ObjectFactory クラスを使用してオブジェクトを初期化および解決しています。ただし、コンテナへの参照を渡したいと思います。ObjectFactory は、非静的オブジェクトの単なるシングルトン ラッパーであると想定しています。しかし、それはどこですか?
dependency-injection - StructureMapインターセプター
さまざまなインターフェースを実装するサービスがたくさんあります。例、IAlbumService
などIMediaService
。
これらのインターフェイスの各メソッドへの呼び出しをログに記録したいと思います。StructureMapを使用してこれを行うにはどうすればよいですか?
私はこれがこの質問とほとんど同じであることに気づきました。それは私がウィンザーを使用していないということだけです。
c# - StructureMap で、実行時に InstanceScope を変更するにはどうすればよいですか?
私の DefaultRegistry には、次の構成があります。
Web アプリケーション フローのある時点で、長い会話を取得するために InstanceScope を HttpSession に変更したいので、次のようにします。
これは初期の InstanceScope を置き換えるようですが、残念ながら現在のリクエストに対してのみ持続します。次の要求が到着すると、初期構成が再びアクティブになり、セッション情報が失われます。
後で、次のような方法で変更を元に戻したいとも考えています。
しかし、一方向に機能させると、おそらく両方で機能します。
実行時に初期 InstanceScope を永久に置き換えることは可能ですか? これはどのように実装する必要がありますか?また、これは長い会話を得る良い方法だと思いますか、それとも StructureMap と NHibernate を使ってそれを行うためのより良い/より簡単な方法はありますか?
model-view-controller - MVC リポジトリ パターンと StructureMap に関する問題
ado.net エンティティ フレームワークの上に作成したリポジトリ パターンがあります。オブジェクトを切り離すために StructureMap を実装しようとすると、StackOverflowException (無限ループ?) が発生し続けました。パターンは次のようになります。
IEntityRepository where TEntity : class 基本的な CRUD メンバーを定義します
MyEntityRepository : IEntityRepository CRUD メンバーを実装します
IEntityService TEntity : class 各メンバーに共通の型を返す CRUD メンバーを定義します。
MyEntityService : IEntityService リポジトリを使用してデータを取得し、結果として一般的な型 (IList、bool など) を返します。
問題は私のサービス層にあるようです。より具体的には、コンストラクターを使用します。
コントローラーから、IValidationDictionary を実装するオブジェクトを渡します。そして、リポジトリを初期化するために 2 番目のコンストラクターを明示的に呼び出しています。
コントローラーのコンストラクターは次のようになります (最初のコンストラクターは、検証オブジェクトのインスタンスを作成します)。
IValidationDictionary オブジェクト参照を渡さない場合、すべてが機能します。この場合、最初のコントローラー コンストラクターが削除され、サービス オブジェクトには、パラメーターとしてリポジトリ インターフェイスを受け入れるコンストラクターが 1 つだけ含まれます。
これについての助けに感謝します:)ありがとう。
silverlight - Silverlightの依存性注入?
私は通常、.NETでの依存性注入にStructureMap.dll(MvcContribから)を使用します。
Silverlightに相当するもの、または誰かが使用するツールはありますか?当然、手作業で行うことができますが、難しくはありません。しかし、StructureMapのようにSilverlight用に形式化されたものがあるのではないかと思いました。
model-view-controller - MVC の StructureMap コントローラー ファクトリと null コントローラー インスタンス
私はまだ StructureMap で物事を理解しようとしています。私が遭遇している問題の 1 つは、null コントローラー タイプが渡されたときに Controller Factory クラスが爆発することです。これは、アプリケーションが初めてビルドされたときにのみ発生し、その後のすべてのビルドは正常に機能します。Visual Studioをシャットダウンしてプロジェクトを再度開いた場合でも(IISでこれを実行していません)。ある種のキャッシングが行われているようです。コントローラ クラスは次のようになります。
何が間違っている可能性がありますか?すべてのコントローラーを登録する必要がありますか? ありがとうございました。
asp.net-mvc - ASP.NET MVC と StructureMap に問題がある
私のマシンでは StructureMap が正常に動作しています。すべてがうまく機能します...存在しないリソースをリクエストするまで。404 の代わりに 500 エラーが発生します。
例えば。http://localhost:6969/lkfhklsfhskdfksdf
ネットをチェックしたところ、構造マップコントローラークラスを修正するように言われました。それと喜びをしました!-元のデフォルトの 404 イエロー スクリーン ページ- が表示されます。わかりました、それは私の 500 エラー ページよりも優れています。
しかし、カスタム 404 ページに移動したい :( 正当なコントローラーで悪いアクションを呼び出すと、カスタム 404 ページが表示されます。
私のglobal.asaxには、カスタムルート、デフォルト、最後に404ルートがあります。
これが私の構造マップコントローラーコードです:
何か案は?どうにかしてストラクチャ マップ コントローラ ファクトリをglobal.asax
ルート リストにバブルバックさせる方法はありますか? または、何か本当に悪いことをしたので、他のものを修正する必要があります。
乾杯!
unit-testing - StructureMap 2.5.3に付属のMoqAutoMockerを使用するにはどうすればよいですか?
StructureMapに付属しているMoqAutoMockerクラスを使用しようとしていますが、その使用方法の例が見つかりません。私が続けなければならないのは、RhinoMocksを使用するStructureMapサイトの例です。
私がやろうとしているのは、Getメソッドを使用して自動モック/注入された依存関係の1つへの参照を取得することです。上記のリンクによると、私はこのようなことをすることができるはずです
Get関数がRhinoMocksモックオブジェクトへの参照を返すことを示すAssertWasCalledの使用方法に注意してください。MoqAutoMockerを使用すると、これと同じコードが機能しません。
コンストラクターのISecurityServiceに依存するクラスSignInControllerがあります。例ではRhinoAutoMockerが使用されているようにMoqAutoMockerを使用すると、これを実行できるはずです...
しかし、問題は、セットアップメソッドにアクセスできないことです。この場合、autoMocker.Getの呼び出しは、Mock <ISecurityService>ではなく、ISecurityServiceのインスタンスを返しているようです。
誰かがこのようにMoqAutoMockerをうまく使用しましたか?私はそれを間違っているだけですか?
asp.net-mvc - 依存性注入を使用してASP.NetMVCソリューションを整理するための最良の方法は何ですか?
私は新しいASP.NetMVCプロジェクトの開発の初期段階にあり、このプロジェクトを使用してDIに参加しています。構造マップを使用することは間違いありませんが、それは私が求めていることではありません。私が理解しようとしているのは、ソリューションを整理するための最善の方法です。単体テストプロジェクトとモデルの両方が、依存関係をマップするための構成ファイルを取得しますか、それともすべてを支配する1つのクラスがありますか?
また、私がこれに深く入り込む前に避けるべき初心者の罠はありますか?
どうもありがとう、すべて....。
更新 「ソリューションを整理する」と言うときは、ファイル/フォルダーの数などではなく、DIに関連するクラスを構造化する方法を指していることを追加する必要があります。特に、ブートストラッパーを管理する方法。私の側の言い回しが悪いと混乱を引き起こす可能性がある場所がわかります。
singleton - Assembly と Cache by Singleton で Structuremap を自動スキャン タイプに設定するにはどうすればよいですか?
mvc.net と StructureMap を使用して、すべてのリポジトリとサービスをスキャンして登録しています。次に、Singleton で登録してキャッシュしたいと思います。どのようにできるのか?