問題タブ [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.
.net - Castle Windsor に IntelliSense を提供する .xsd ファイルはどこにありますか?
Castle Windsor IoC コンテナーの xml 構成ファイルに intellisense を提供するために、Visual Studio ディレクトリにドロップする .xsd スキーマ ファイルを探しています。ダウンロードした Windsor のコードを調べるだけでなく、さまざまな方法でグーグル検索しました。多くの人が同じ質問をしているのを見ますが、答えはありません。そのような文書があるかどうか知っている人はいますか?
api - Castle Windsor の Fluent Interfaces API にアクセスするにはどうすればよいですか?
キャッスル ウィンザーの非 xml 構成を適切に動作させるために、多くの問題が発生しています。それまでの間、Windsor Container の流暢なインターフェースを介してアドバイスを与える人がますます増えているのを見てきました。私は最後の日についてグーグルで検索しましたが、この API がどこにも見つかりません。
IWindsorContainer オブジェクトの拡張メソッドと思われる key .Register() メソッドについて話しています。Castle.MicroKernel.Registration 名前空間にあるようですが、対応するライブラリがどこにも見つかりません!
また、このようなドキュメントを見つけることができる場所はありますか?
編集:ここのサンプル プロジェクト の Castle.MicroKernel のコピーには、私が使用していた名前空間よりも多くの名前空間があることがわかりました (これは 8 日前で v1.0.0 ですが、私のバージョンは v1.0.3 です...)。ただし、.Register() メソッドまたはサンプルを見つけるのに問題があります。
編集: Bitter Coder で流暢なインターフェイスのサンプルを いくつか見つけましたが、ダウンロード可能なサンプルがないため、まだ途方に暮れています。
再編集:やっと手に入れました。Castle Windsor の最新のソース コードはこちらから入手できます。成功した最新のビルドを取得します。zip ファイル内には bin ディレクトリがあります。流暢なインターフェイスは Castle.Microkernel 内にあります (おそらく、Castle.Dynaproxy、Castle.Dynaproxy2、Castle.Windsor も参照する必要があります)。
PS この投稿は、"castle fluent interface documentation" の Google 検索結果の第 1 位です。 コオロギの鳴き声 あれは何?罰金。これを理解させてから、それから始めます。
c# - キャッスルウィンザーとは何ですか、なぜ気にする必要がありますか?
私は長年のWindows開発者であり、win32と初期のCOMに歯を食いしばっています。私は2001年から.NETを使用しているので、C#とCLRにかなり精通しています。Stack Overflowに参加し始めるまで、CastleWindsorのことは聞いたことがありませんでした。Castle Windsorの「GettingStarted」ガイドを読みましたが、クリックされません。
この老犬に新しいトリックを教えて、CastleWindsorをエンタープライズアプリに統合する必要がある理由を教えてください。
c# - Castle Windsorが一時的なオブジェクトを保持するのはなぜですか?
最近、アプリケーションが解放されないメモリを消費しているように見えることに気付きました。CLRProfilerでプロファイリングした後、使用しているCastleWindsorコンテナーがオブジェクトを保持していることがわかりました。これらのオブジェクトは、構成xmlのlifestyle="transient"属性で宣言されます。
に明示的な呼び出しをIWindsorContainer.Release(hangingObject)
行うと、その参照が削除されることがわかりました。
これは問題を引き起こしていますが、一時的なライフスタイルオブジェクトでCastleWindsorが参照を保持し、効果的にリークを作成するとは思っていませんでした。すべての適切な場所に明示的なRelease呼び出しを挿入することは、かなり平凡でエラーが発生しやすいタスクになります。
この問題を見たことがありますか、それを回避する方法について何か提案はありますか?
dependency-injection - 実行時の Castle-Windsor スワッピング サービス
税サービスのインターフェイスを ITaxService として定義し、TaxService の複数の実装を (地域ごとに) 取得したとしますが、特定の地域の特定の顧客に特定の税の実装をアタッチしたいと考えました。
このシナリオで DI は役に立ちますか? どのように?「コード スニペットをいただければ幸いです」
log4net - Binsor と log4net
アプリケーションで依存性注入を使用するために Castle Windsor と Binsor を使用しています。私はどちらも専門家ではありません。通常、私は Windsor を自分の意のままに曲げる方法を理解することができますが、Binsor については、特に適切なドキュメントが見つからないため、はるかに難しいと感じています。
ロギングを使用する binsor 構成ファイルを作成しようとしています。次の binsor コードを使用してロギングを構成します。
これはうまく機能し、コンテナに登録され、コンストラクタへの引数として ILogger オブジェクトを受け取るすべてのコンポーネントは、正しい ILogger インスタンスを受け取ります。
ただし、今やりたいことは、1 つの特定のコンポーネントに別のロガーを使用することです。そのコンポーネントにはファイルにログを記録させたいのですが、他のコンポーネントは画面にのみログを記録する必要があります。Binsor コードを使用してそれを表現するにはどうすればよいでしょうか。
c# - タイプではなくオブジェクトをウィンザーコンテナに渡すにはどうすればよいですか?
私は次のクラスを持っています:
これはプレゼンター コードです。
新しいオブジェクトをインスタンス化する代わりに、現在のインスタンスViewPage
をTPresenter
viaに渡したいと思います。Windsor
どうすればこれを達成できますか? ありがとう。
.net - どの依存性注入ツールを使用する必要がありますか?
ユーザー インターフェイスの依存性注入ツールに Microsoft Unity を使用することを考えています。
私たちの中間層はすでにキャッスル ウィンザーを使用していますが、Microsoft を使い続ける必要があると考えています。
最高の依存性注入ツールとは何かについて考えている人はいますか?
inversion-of-control - Windsor Container:パブリックプロパティをコンテナで埋めないように指定する方法は?
クラスをインスタンス化するとき、Windsor はデフォルトでクラスのすべてのパブリック プロパティをオプションの依存関係として扱い、それらを満たすようにします。私の場合、これはかなり複雑な循環依存関係を作成し、アプリケーションをハングさせます。
公共の財産を満足させようとしてはならないことをウィンザー城に明示的に伝えるにはどうすればよいですか? その程度の属性があるに違いないと思います。しかし、見つからないので、適切な名前空間/アセンブリを教えてください。
属性なしでこれを行う方法がある場合 (Xml 構成やコードによる構成など)、これが行われている特定のライブラリはこれまで城への依存を必要としなかったため、それが望ましいでしょう。
.net - Windsor コンテナと内部プロパティ
「内部」としてマークされたコンポーネントのプロパティを初期化する方法はありますか? InternalsVisibleTo 属性にどのアセンブリ名を使用する必要がありますか?