問題タブ [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.
vb.net - Windsor IoC サンプル ヘルプ - 「登録されていない HttpServiceWatcher&.」
C#のWindsor Inversion of Control (IoC) Getting Started exampleに従っていますが、VB.Net で実装していて、小さな問題が発生しました。
これが私が完全に取得している例外です:
満たすべき依存関係があるため、コンポーネント 'form.component' を作成できません。form.component は次の依存関係を待機しています:
サービス: - 登録されていない InversionOfControl.HttpServiceWatcher&。
しかし、私はそれを登録していると思います-それは登録された最初のものです!
VB 8 (Visual Studio 2005 / .Net 2.0) とWindsor 1.0 RC3を使用しています。
ここに私のApp.vb があります:
フォーム1
HttpServiceWatcher
IFailureNotifier
AlarmFailureNotifierとEmailFailureNotifierはどちらも IFailureNotifier を実装していますが、Notify()
メソッドは空です
IFailureNotifier を最初に、HttpServiceWatcher を 3 番目に、Form を最後に配置して順序を変更しようとしましたが、同じエラーが発生します。
クリーンアップと再構築を行いましたが、同じエラーが発生します。
私は明らかにこれに慣れていません(「はじめに」を行っているため)、見逃したことを指摘していただけますか?
ありがとうございます:o)
inversion-of-control - ウィンザー コンテナのデコレータ パターンとして DynamicProxy を使用する
別のクラスのインスタンスへの呼び出しをインターセプトする動的プロキシを提供するためのウィンザーの使用と構成に関する情報を探しています。
私のクラスは、パフォーマンス上の理由から、コンテナによって長寿命のインスタンスとして保持される必要があるリソースを表しています。ただし、このリソースは使用できない状態に移行する場合があり、更新が必要になります。クライアント コードで処理する必要がないように、コンテナーでこれを処理する必要があります。これを行うために独自のファクトリを作成できます。別のファクトリ クラスを作成する必要がないので、Windsor 登録のクールネスがあるかどうかを知りたいです :)
問題を示す擬似コードを次に示します。
私の RealResourceInterceptor クラスのようなものを実装する方法と、それを使用するようにコンテナを構成する方法はありますか? ありがとう!
asp.net-mvc - WindsorIInterceptorを介したアクションアクセス
Windsor IInterceptorを使用してMVCアプリで承認を処理しようとしています。これは、ユーザーがアクセス権を持っているかどうかを判断するために関連するアクションが渡されるパラメーターへの名前付きアクセスを取得できる唯一の方法のように思われるためです。
私のInterceptメソッドから、呼び出されるアクションにアクセスする必要があります。コントローラーとアクションの名前を(RequestContextを介して)取得する方法を理解しましたが、実際のメソッドは理解していません-何か良いアイデアはありますか?
参考までに、これはおおよそコードがどのように見えるかです。
c# - Castle Windsor: 一時的なコンポーネントはガベージ コレクションの対象になりますか?
Castle Windsor を使用して、一時的なライフスタイルで構成されたコンポーネントを作成しました。
次のように使用されます。
私の質問は、サービス インスタンスが範囲外になった後にガベージ コレクションされるのか、それともキャッスル ウィンザーが参照を保持するのかということです。これは、後者が当てはまる可能性があることを意味します-しかし、そこに投稿されたリンクを調べた後、議論が参照を保持することに関するものなのか、それとも IDisposable を実装する場合にオブジェクトが破棄されることを保証することに関するものなのかわかりません. オブジェクトを破棄する必要はありません。
ウィンザー城がインスタンスを保持している場合、これを防ぐ簡単な方法はありますか (おそらく構成によって) ?
編集
リリース追跡ポリシーを設定する必要があるようです。これは xml 構成ファイルで構成できますか、それともコードで設定する必要がありますか? コンポーネントごとにリリース追跡ポリシーを設定できますか?
c# - nhibernate DynamicProxy のプロキシ型の完全な名前を取得するにはどうすればよいですか?
netdatacontractserializer と SerializationBinder を使用して、クライアント側で nhibernate プロキシ用の独自のランタイム タイプを作成しています。
これはすべて機能しますが、ドメイン モデルには名前ごとに 1 つの型しかないと仮定せざるを得ません。つまり、名前空間を無視せざるを得ません。その理由は、SerializationBinder が「MyObjectProxyb04bae2d04d34e8a98b1d93bf24428cc」および「DynamicProxyGenAssembly2、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null」へのアクセスのみを許可して、親タイプを派生させるためです。
ご覧のとおり、親型の名前空間を指すデータはありません。
生成されたプロキシの名前を (名前空間のプレフィックスを含めるために) 変更することを検討しましたが、それはハードコーディングされているようです。
.net - Castle Windsor: Resolve() によってスローされる例外を抑制
Windsor コンテナが見つけられないコンポーネントを解決すると、例外がスローされます。
StructureMap には TryGetInstance メソッドがあり、要求されたコンポーネントが見つからない場合に null を返します。
キャッスル ウィンザーにはこのようなものがありますか。または、これらの例外を強制的にキャッチする必要があります (例外のスローとキャッチのパフォーマンス オーバーヘッドのため、私はそれが好きではありません)。
前もって感謝します、
レムコ
c# - Castle Windsor と MicroKernel を使用した dll「ドロップイン」アーキテクチャ
構成を必要とせずに IoC を使用するフレームワークを作成したいと思います。
その代わりに(http://www.castleproject.org/container/gettingstarted/part1/code.htmlから調整):
container.AddComponent
ISomeComponent を実装し、それらを WindsorContainer に登録したクラスを含む dll を既知のディレクトリで検索することにより、いくつかの「自動配線」を実行する最初のステップがあったため、メソッドを呼び出す必要はありません。
これは最初から実行できることがわかりますが、理想的には、既にそれを実行しているオープン ソース プロジェクトがそこにある場合、このコードを書き直したくありません!
c# - CastleWindsorが私のサービスタイプを見つけることができません
CastleWindsorIoCを利用しようとしています。私は非常に単純なアプリケーションを持っています。私のインターフェースはTest.Services名前空間に存在します。コンパイル時に次の例外が発生します。
タイプ名Test.Services.IParse、Test.Servicesが見つかりませんでした。」
これは私のapp.configです:
誰かが私が欠けているものを教えてもらえますか?
ありがとう
-ニック
c# - Castle.Windsor フレームワークでイベント サブスクライバーを接続する際の問題
Castle.Windsor IoV コンポーネントのイベントの配線に問題があります。メソッドとそれらのシグネチャを確認しましたが、「オブジェクトがターゲット タイプと一致しません」というメッセージで例外がスローされます。
正確にどのオブジェクトが期待されているかを誰か説明してもらえますか?
私の配線は次のようになります。
誰かが尋ねる前に、はい、私は含めました: