問題タブ [interceptor]
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.
c# - Castle Windsor インターセプターからメソッドのカスタム属性にアクセスする
城のインターセプター内のメソッドに適用されたカスタム属性にアクセスしようとしています。
次のコードを使用します。
メソッドが呼び出されると、インターセプターは正常に起動しますが、このコードはカスタム属性を返しません。どうすればこれを達成できますか?
spring - インターセプターでライフサイクル インターセプターを宣言することはできますか?
ビジネス Bean を次のように定義しています。
そして、BusinessInterceptor
Spring で構成する必要がありますSpringBeanAutowiringInterceptor
。
これは許可/合法ですか? BusinessInterceptor
フィールドが適切に初期化されていないことを示すエラー (主に NPE)が表示されます。
castle-windsor - プロキシが作成され、インターセプターが __interceptors 配列にありますが、インターセプターが呼び出されることはありません
流暢な登録でインターセプターを使用したのはこれが初めてで、何かが欠けています。次の登録では、IProcessingStep を解決できます。これはプロキシ クラスであり、インターセプターは __interceptors 配列にありますが、何らかの理由でインターセプターが呼び出されません。私が見逃しているアイデアはありますか?
ありがとう、ドリュー
.net - NHibernate トランザクションでの NInject2 Interceptor の使用
以前のプロジェクトでは、NHibernate と Spring.NET を使用しました。
トランザクションは、サービス メソッドに [Transaction] 属性を追加することで処理されました。
私の現在のプロジェクトでは、NHibernate と NInject 2 を使用しています。「Ninject.Extensions.Interception」と同様の [Transaction] 型属性を使用してトランザクション処理を解決できるかどうか疑問に思っていました。
どうもありがとうございます!
php - PHP 5.* でのメソッドのインターセプト
PHP 用のログ システムを実装していますが、少し行き詰まっています。
すべての構成は、ログに記録するすべてのメソッドを宣言する XML ファイルで定義されます。XML は適切に解析され、多次元配列 ( ) に変換されclassname => array of methods
ます。ここまでは順調ですね。
簡単な例を見てみましょう:
さて、私がこの設定ファイルを持っているとしましょう:
AT RUNTIME ONLY (XML パーサーがジョブを実行した後) で使用したいのは、次のとおりです。
ここでの大きな課題は、XML パーサーがその仕事を完了した後で、A と B を「動的」バージョンに変換することです。
理想は、A と B のコードを (ファイル内で) まったく変更せずにそれを達成することです。または、少なくとも、プログラムが終了したら元のバージョンに戻る方法を見つけることです。
明確にするために、PHP でメソッド呼び出しをインターセプトする最も適切な方法を見つけたいと考えています。
それについてあなたの考えは何ですか?
PS: そしてもちろん、クライアント コードには NO CONSEQUENCE があってはなりません (傍受が有効になっているかどうかにかかわらず違いはありません)。
java - インターフェイスデザインパターン/Java/ Seam
これはどういうわけか可能ですか?
インターフェイスを実装せずにこれを行うことは可能ですか?それを機能させるには何が必要ですか?維持を減らし、より多くのことをしたい。
geolocationServiceの呼び出しを傍受できる場合、私は金色ですが、どうすればよいですか?インスタンス化されたくないので、常にnullになります(@Nameアノテーションと@Inアノテーションも必要ありません)。
ウォルター
c# - Castle Windsor で、Interface コンポーネントを登録して、実装のプロキシを取得できますか?
いくつかのケースを考えてみましょう:
この場合、IProductServices を要求すると、windsor はインターフェイス メソッド呼び出しをインターセプトするためにインターフェイスをプロキシします。代わりにこれを行う場合:
次に、windsor に IProductServices を解決するように要求することはできません。代わりに、ProductServices を要求すると、仮想メソッド呼び出しをインターセプトする動的サブクラスが返されます。もちろん、動的サブクラスはまだ「IProductServices」を実装しています
私の質問は: 最初のケースのようにインターフェイス コンポーネントを登録し、2 番目のケースのようにサブクラス プロキシを取得できますか?
これが必要な理由は 2 つあります
。1 - 解決しようとしているコードは、ProductServices クラスを認識できず、IProductServices インターフェイスしか認識できないため。2 - 送信者をパラメータとして渡す一部のイベント呼び出しは ProductServices オブジェクトを渡すため、最初のケースでは、このオブジェクトは動的プロキシのフィールドであり、windsor によって返される実際のオブジェクトではありません。これがどのように物事を複雑にするかの例を挙げましょう: 項目がプロパティの変更を通知したときに何かを行うカスタム コレクションがあるとしましょう:
送信者がインターフェイス プロキシのフィールドになり、IndexOf(sender) が -1 を返すため、インターフェイス プロキシを追加すると、このコードは失敗します。
c# - クラスプロキシでオーバーライドする仮想メソッドをCastleWindsorに指定できますか?
クラスには多くの仮想メソッドがありますが、インターセプトする必要があるのは1つだけです。インターセプトメソッドで検証を行う必要がないように、Castle Windsorにそのメソッドのみをオーバーライドするように指示できますか?
編集:
IKernelEvents.ComponentRegisteredイベントを使用して、インターセプターを取得するタイプを選択します。
castle-windsor - Castleインターセプターは、単体テスト中にMVCコントローラーのメソッドをインターセプトしません
.netテストクラスがあります。Initializeメソッドでは、ウィンザーコンテナを作成し、いくつかの登録を行います。実際のテストメソッドでは、コントローラークラスのメソッドを呼び出しますが、インターセプターが機能せず、メソッドが直接呼び出されます。これの潜在的な理由は何ですか?
関連するすべてのコードは次のとおりです。
Test.cs:
SomeController.cs:
SomeInterceptor.cs:
DefaultInterceptorSelector.cs: