問題タブ [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.
.net - 引数を指定したり、DefaultConstructor 属性を使用したりせずに、StructureMap でデフォルト コンストラクターを定義する
私はしばらくの間 StructureMap を使用してきましたが、専門家にはほど遠いものです。私の問題は単純です。コード (レジストリ) を介して SM を構成し、リポジトリ オブジェクトのインスタンスを作成するときに特定のコンストラクターを使用しようとしています。
これが私の2つのコンストラクターです(どちらも貪欲ではないことに注意してください)。
注: 最初のコンストラクターはIDatabase
インターフェイスのインスタンスを受け取り、基本クラスの ctor(IDatabaseFactory) 実装によって呼び出されます。
私がやろうとしているのは、2 番目のコンストラクターを使用しDatabaseFactory
て SM コンテナーからのインスタンスを提供するように SM を構成することです。[DefaultConstructor]
が定義されているアセンブリで属性を使用できないため、BusinessUnitRepository
このオプションはテーブルから外れています。
私の登録コード
プログラム SM を実行すると、 のインスタンスを作成しようとすると 302 エラーがスローされますBusinessUnitRepository
。
ご参考までに:
- Repository.LinqToSql.BusinessUnitRepository アセンブリで StructureMap を参照し、IDatabaseFactory コンストラクターで [DefaultConstructor] 属性を使用すると、すべてが完全に機能します。
- また、StructureMap に構成済みの「Repository.LinqToSql.DatabaseFactory」が含まれていることも確認しました。
wpf - MVVM と StructureMap の使用
MVVM アプリケーションには、非常に多くの親詳細 ViewModel があります。このようなもの:
等々...
さらに、ユーザーがレッスン単位でブラウジングしているか生徒単位でブラウジングしているかなどに応じて、単一のビュー モデルが複数の場所に表示される場合があります。
各子ビュー モデルは親ビュー モデルによって作成されるため、ビュー モデルの多くは子ビュー モデルの依存関係を渡す必要があります。たとえば、SchoolsViewModel のコンストラクターは次のようになります。
これらすべてを扱いやすくする通常の方法は、StructureMap などの DI フレームワークを使用して、必要なすべての引数をビュー モデルに渡すことです。ただし、この場合、私のアプリケーションは通常、SchoolsViewModel のみを作成するため、これは使用が制限されます。
私の最初の質問は、この場合、SchoolsViewModel が各依存関係を各子ビュー モデルに渡すようにするか、それとも各ビュー モデルが ObjectFactory.GetInstance() を使用して子ビュー モデルを作成するようにするかということです。おそらく、ファクトリ クラスを介して DI フレームワークへの依存関係を抽象化するのでしょうか?
これに関連する別の質問があります: MVVM: locating other ViewModels
編集:もっと意見が欲しいので、これについて報奨金を出しました。
interface - StructureMap にジェネリック インターフェイスを登録する方法
構造化マップでジェネリック インターフェイスのすべてのインスタンスを登録するにはどうすればよいですか?
非汎用インターフェースに対してこれを行う方法を知っています:
structuremap - StructureMap WithCtorArg-参照がありませんか?
構造マップを使い始めようとしています。バージョン2.5.3を使用しています。
シンプルなブートストラッパーを作成しましたが、コンパイルできません。エラーが発生します:
「StructureMap.Configuration.DSL.Expressions.CreatePluginFamilyExpression」には「WithCtorArg」の定義が含まれておらず、「StructureMap.Configuration.DSL.Expressions.CreatePluginFamilyExpression」タイプの最初の引数を受け入れる拡張メソッド「WithCtorArg」が見つかりませんでした(あなたはusingディレクティブまたはアセンブリ参照がありませんか?)
私が行方不明になっているのは何ですか?
私がコンパイルしようとしているコードはここにあります:
nhibernate - NHibernate 2.1 と StructureMap によるコンストラクター依存性注入
NHibernate 2.1 がエンティティのコンストラクタ依存性注入をサポートしていることをどこかで読んだことがあります。
これを起動して実行するには、StructureMap と NHibnerate 2.1 を構成するにはどうすればよいですか?
inversion-of-control - Unityでこれを行うにはどうすればよいですか?
Jimmy Bogartが、IoCコンテナでのAutomapperの使用に関する記事を掲載しています。彼はStructureMapを使用した例を持っていますが、私はUnityを使用しており、InjectionConstructorを適切に使用する方法がわかりません。
以下は記事からのコードであり、それは私の貧弱な試みです。誰かがこれを正しく行う方法を教えてもらえますか?
私の試み:
exception - StructureMap 例外コード: 202 既定のインスタンスが定義されていません
SM で以下を登録してからインスタンスを作成しようとすると、「StructureMap Exception Code: 202 No Default Instance defined for PluginFamily...」という例外が発生します。
IRepository のインスタンスを取得しようとすると、例外が発生します。
私が欠けているものを誰かが知っていますか?
乾杯
オリー
.net - StructureMapでコンテナ構成をダンプします
StructureMapをIOCコンテナとして使用するプロジェクトが増え続けています。Scan()で自動登録を使用して、StructureMapレジストリのコード量を削減しようとしています。変更を加えるときに、現在のコンテナーをコンソールにダンプして、変更が期待どおりに行われたかどうかを確認する簡単な方法はありますか?
c# - StructureMap と null パラメータをインスタンスに渡す
コードで StructureMap を使用してインスタンスを作成していますが、コンストラクターは文字列を受け取ります。構成では、パラメーターにプレースホルダーを使用します。パラメータ値が null のオブジェクトを作成しようとしています。ObjectFactory からオブジェクトを取得すると、パラメーターの値は null ではなく、プレースホルダーと等しくなります。
オブジェクトの構成は次のとおりです。
これが私がそれを作成する方法です:
特定のケースでは、companyID = null で、インスタンスの値は「プレースホルダー」と同じです。
プレースホルダー値の代わりに companyID = null の値を使用して実際にオブジェクトを作成する方法についての情報をいただければ幸いです....
c# - StructureMapを使用したシンプルなファクトリ
これをstructuremapグループにも投稿しました。先週、structuremapを使い始めたばかりで、実際に掘り下げています。
簡単なものが欠けていると思います。
工場内でSMを使用して、次のコードを模倣しようとしています。ファクトリクラスにコンテナの依存関係があっても大丈夫です。このスレッドのコンセンサスは、これが正しいアプローチであるように思われました:http: //www.codeplex.com/unity/Thread/View.aspx?ThreadId=29697。より良い方法があれば、私はこれを達成するための他の方法を聞くことを歓迎します。
基本的に、私のファクトリのCreateメソッドは列挙値を受け取り(実際の型である可能性がありますが、いずれにしてもコンテナによって制御されるものではありません)、適切なインスタンスを返す必要があります。返品タイプはSMによって管理されることに注意してください。多くの(!)が存在する可能性があるため、すべての依存関係をファクトリのCtorに入れたくありません。
ドキュメントの右側のセクションにリンクしても問題ありません。コードを書く必要はありません(ただし、文句は言いません:))。工場の様子とレジストリコードを知りたいのですが。