問題タブ [castle-windsor]
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.
inversion-of-control - Windsor Fluent Interface ライフスタイル
コンポーネントのライフスタイルを設定するためのこれらの同等の構文はありますか?
nhibernate - Castle Windsor/NHibernate スタックをお勧めしますか?
Castle Windsor (NHibernate 機能を使用) と NHibernate (および ASP.NET MVC と Moq、SQL Server 2008、すべてについて詳しく知りたい) を使用する個人的な (学習) プロジェクトがあります。
週末にNHibernate Validatorを使用しようとしましたが、 NHibernateの 2.1.0Alpha2 ビルドが必要でした。
Castle Windsor 1.0RC3 は古いバージョンの NHibernate に対してビルドされているため、すべてがうまくいきませんでした。
Castle Windsor のサイトを調べたところ、統合されたインストーラーは廃止されたようで、しばらくパッケージ化されたコンポーネントはないようです。
では、どのバージョンの NHibernate とさまざまな Castle コンポーネントを ASP.NET MVC ソフトウェア スタックで使用する必要があるのでしょうか?
testing - Castle Windsor: 登録されたすべてのコンポーネントが解決可能であることをテストするには?
WindsorContainer に登録されているすべてのコンポーネントが実際に解決できることを確認するテストを書きたいと思います。どうすればそれができるか、誰にもアイデアがありますか?
dependency-injection - コンストラクターのパラメーターを渡すキャッスル ウィンザー
いくつかのプロパティを持つ IAddress クラスがあります。次に、このインターフェイスを実装する具象型があります。この具象型には、使用できるいくつかの異なるコンストラクターがあります。実行時にこれらのコンストラクターのいずれかにパラメーター値を渡すにはどうすればよいですか? この具象型を複数回再利用し、そのたびにパラメーター値が異なるため、構成ファイルを使用できません。
multithreading - Castle Windsorへのサービス/コンポーネントの登録はスレッドセーフですか?
キャッスルウィンザーにコンポーネントを登録することはスレッドセーフですか?
つまり、複数のスレッドが同じコンテナインスタンスにコンポーネントを同時に登録できますか?
(記録のために、はい、そうすることはおそらく非常識であることを私は知っています。)
c# - Castle Windsor WcfFacility で奇妙なコンポーネント登録エラーが発生する
既存のサイトを WCF を使用して別のボックスのサービスと通信するように変換しようとしています。現在、自動登録を使用してサービスを直接接続しています。Windsor の WcfFacility を使用しようとすると、登録しようとしているインターフェイスの 1 つで ComponentRegistrationException が発生します。エラーは以下のとおりです。これは特定のインターフェイスでのみ発生し、他のすべてのインターフェイスは正しく機能し、同じ方法でコーディングされています。
同じサービスで WCF を使用するように変換した別の Windows フォーム アプリケーションがあり、これは 100% 動作します。
次のコードを使用して、(Windows と Web アプリの両方で) WCF サービスを登録します。
インターフェイスは ServiceContract および OperationContract 属性でマークされており、他のすべてのものと同じです。
ウィンザーがこれを抽象クラスと見なしているのに、他のクラスを正しく登録している理由がわかりません。
何か案は?
configuration - Castle Windsor AllTypes からの型の順序付けされた解決
アプリケーションの起動アクティビティ用のインターフェイスを実装するクラスのグループがあります。登録コードは次のとおりです。
タスクを取得するために、これを使用すると、期待どおりに動作します。
これが私の問題です。最初に実行される別のタスクに依存する 1 つのタスクがあります。InitializeDatabase
タスクの前に実行する必要があるタスクがありPopulateDatabse
ます。実行される他のタスクもたくさんありますInitializeDatabase
が、タイプの解決を注文できるキャッスル構成がある場合は、タスクを分割したくありません。解決されるタイプの完全な順序を指定したくありません。これは、自動登録の目的に反するためです。それがInitializeDatabase
最初かPopulateDatabase
最後かだけです。
すべての型の順序を指定せずに、どの型を最初に解決する必要があるかを登録する方法はありますか?
dependency-injection - ウィンザー城建設されたオブジェクトの注入プロパティ
一部の依存性注入コンテナを使用すると、構成済みのサービスをすでに構築されているオブジェクトに注入できます。
これは、ターゲットオブジェクトに存在する可能性のあるサービスの依存関係を考慮しながら、Windsorを使用して実現できますか?
dependency-injection - Castle Windsor によるコンテキスト バインディング
別のパラメーターに基づいてサービスのさまざまな実装を返すように Windsor を取得することは可能ですか?
たとえば、Role プロパティを持つ User オブジェクトがある場合、Role の値に応じてこのオブジェクトを異なる方法で水和できるようにしたいと考えています。これを行うために IUserService を使用したいのですが、IoC コンテナーによって決定される IUserService の具体的な実装を持っています。
Ninject はこの機能を「コンテキスト バインディング」として提供していると思いますが、Windsor が独自の解決ロジックを展開せずに提供しているかどうかはわかりません。