問題タブ [interception]
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# - ILogger への呼び出しをインターセプトまたは装飾する
私は現在、アプリケーションのロギング機能とともに城のウィンザーを使用しています。
ただし、ログには、ログに記録されたメッセージには含まれていないが、CallContext
.
ILogger
以下を使用して呼び出しをインターセプトすることで、これを実行しようとしました。
しかし、変数は、私が期待していた動的プロキシではなくlogger
型です。NLog.Loggger
c# - Ninjectによる.net MVCコントローラーのインターセプト
MVC 4 プロジェクトと Ninject 3 がすべて接続されています。
ここで、MVC コントローラー メソッドで傍受を処理したいと考えています。
これを追加すると:
それはちょっとうまくいきます(私自身のメソッドはインターセプトされませんが、代わりに、ベースコントローラークラスのBeginExecute、EndExecute、およびDisposeメソッドがインターセプトされます)。しかし、今のところは大丈夫だとしましょう。
次のように HomeController で特定のメソッドを傍受したい場合:
それは単に機能しません。インターセプトが発生することはありません。
一方、プロジェクトのプレーンなサービス クラスで同じメソッド インターセプトを使用すると、機能します。インターセプトに問題があるのは Controller メソッドだけのようです。
^これは機能します。
誰が私が何をすべきかについて何か考えがありますか?
PS。私は WebActivators で NinjectWebCommon を使用しています:
c# - Unity でインターセプト用のインスタンスを登録する
単体テストでは、現在、Moq を使用してインターセプターとインターセプトされたクラスをモックしてから、インターセプトされたインスタンスを Unity に登録し、インターフェイスのデフォルトのインターセプターを設定しています。次に、インスタンスを解決し、インターセプトされたメソッドを呼び出し、インターセプト メソッドが呼び出されていることを確認します。
これはうまく機能しますが、すべての一貫性を保つために、サービス/シングルトンを登録するときのように、登録中に傍受を設定したいと思います。
メソッドを使用して傍受を構成するIUnityContainer.RegisterInstance()
方法はありませんInjectionMembers
. UnityContainer.Configure<Interception>().SetDefaultInterceptorFor<T>()
解決する前に呼び出すと、実際にインスタンスで傍受を使用できます。
インターセプターを登録またはモックするより良い/簡単な方法はありますか?
c - LD_PRELOAD - + や - などのプリミティブ演算子をインターセプトできますか?
LD_PRELOAD を使用して、このようなプリミティブ操作 (+、-、% など) をインターセプトすることは可能ですか?
そうでない場合、同様のことを達成する方法はありますか?
c# - 属性はインターフェイスを実装できますか?
インターセプトに Unity コンテナーを使用しているため、[Trace] 属性を追加しようとしています。
パブリック クラス TraceAttribute : HandlerAttribute
コードでは、次のように使用できます。
私の質問/目標は次のとおりです。Trace 属性を Unity Interception に結び付けたくありません。後で DI コンテナーを変更したり、独自のコンテナーを実装したりする場合は、インターフェイスの場合と同じように交換したいと思います。
何かのようなもの:
パブリック インターフェイス TraceAttribute : ITraceAttribute
そして、特定の実装がありますか?それは可能ですか?
私たちが直面している課題の 1 つは、Trace 属性を使用するすべての場所で、Unity アセンブリをインストールする必要があり、それを避けたいということです。
ありがとう!
c# - CallerInfo 属性を使用せずに CallerFilePath と CallerLineNumber を取得するにはどうすればよいですか?
私の log4net ソリューションには、CallerInfo 属性を使用する API ラッパーがあります。
ただし、Invoke メソッドで以下のように ICallHandler を使用するなど、前後の応答のトレース ロギングを実行できるように、Unity Interception も使用しています。
注: 上記のコードは決して完全ではなく、正しくもありません... しかし、私が Unity Interception のために何をしていたかをお見せしたかっただけです。
私の質問/課題は次のとおりです。最終的に log.Write(...) を呼び出すとき、TraceCallHandler 情報ではなく、ターゲットの発信者情報が必要です。
たとえば、メソッド名については、次のようにできます。
発信者のファイル パスと発信者の行番号を取得するにはどうすればよいですか? リフレクションを介して行うことさえ可能ですか?
ありがとう!
c++ - Oblita/Interception ライブラリでマウス クリック/座標を送信しますか?
現在、いくつかのプロジェクトで Interception ライブラリを使用しています。座標を送信し、既存のコード内でマウス クリックをシミュレートできれば非常に便利です。現在のライブラリ内にそのようなことをサポートするものがあることは知っていますが、ドキュメント (および開発者との連絡) が不足しているため、目標を達成できない可能性があるのではないかと心配しています。
私がこれまでに持っている唯一のリードは、マウス座標関数が実際のマウス座標を使用することです (特定の変数を -1 に設定すると、マウスが反転するなどのことを意味します) が、代わりに画面座標を渡すことができるようにしたいと考えています。また、特定のマウス フラグ (INTERCEPTION_MOUSE1_DOWN、INTERCEPTION_MOUSE1_UP など) がありますが、SendInput でこれらを渡そうとした後、失敗したようです。
誰かが何か助けを提供できれば、それは祝福です。ありがとうございました!
http://oblita.com/interception.html
PS - 誰かがこれと似たようなことを尋ねた別の質問を見ましたが、まだ複雑で情報が少し不足していました。再度、感謝します。