問題タブ [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.

0 投票する
4 に答える
235 参照

javascript - 関数と function.length のラッピング

次のコードがあるとしましょう

傍受ロジックでラップしようとしたため、.lengthデータを失いました。_fun

以下は動作しません

注釈付きのES5.1 仕様.lengthは、次のように定義されています。

内部のロジックが正確であるfun必要がある場合、データ.lengthを破壊せずにこの関数を傍受して上書きするにはどうすればよいでしょうか?.length

私は使用する必要があると感じており、同じ数の引数で新しい文字列を作成するevalのは危険です。Function.prototype.toStringこれは避けたい。

0 投票する
3 に答える
33703 参照

javascript - javascriptでinnerHTMLの変更を傍受する方法は?

Web ページ内のセルのコンテンツの変更をインターセプトする必要があります。

次のコードは、addEventListener が機能しないことを示しています。

コードは単なるおもちゃの例です。私の実際のケースでは、ページの変更 (したがってセルの変更も) は、私が制御できない webapp によって行われます。

0 投票する
1 に答える
110 参照

php - 設定ファイルを仮想化する方法

Ion Cube で暗号化された PHP スクリプトがあります。ライセンスに違反したくないので、スクリプトを変更することはできません。このスクリプトは、XML ベースの構成ファイルを呼び出します。構成データを保存するデータベースを作成し、それをリクエストを行ったリファラー URL に基づいて暗号化されたスクリプトにフィードしたいと考えています。基本的に、構成 XML ファイルを「仮想化」して、リファラー URL に基づいて必要なデータを暗号化されたスクリプトにフィードできるようにしたいと考えています。

何か案は?

0 投票する
4 に答える
1875 参照

java - Java-アノテーションとインターセプトメソッドを使用しますか?

Javaでメソッドをインターセプトする簡単な方法はありますか?メソッドを実行する前にロジックの一部が呼び出されるように、必要なメソッドにアノテーションを追加する必要があります。

編集:

Androidアプリに推奨されるGuiceライブラリにはAOPが含まれていません。ライブラリを追加せずにリフレクションを使用してこれを実現することは可能ですか?

0 投票する
1 に答える
2903 参照

c++ - 傍受を伴うキー押下の送信

キーボード アクションを偽造する通常の方法 (SendInput/SendKeys/etc) をすべて試しましたが、DirectInput を使用するゲームではいずれも機能しないようでした。多くの読書と検索の後、デバイスに接続できる C++ ライブラリであるInterceptionに出くわしました。

C++ (C# には何も存在しませんでした) を使用して以来、非常に長い時間が経過しているため、これで問題が発生しています。以下にサンプルコードを貼り付けました。

これを使用してコードから重要なアクションを開始する方法があるように見えますか? サンプルはすべて、デバイスにフックしてアクションを書き換えるだけです (x キーで y を出力、マウス軸を反転するなど)。

コメントアウトしたコードは、私が試したもののうまくいかなかったものです。

0 投票する
1 に答える
925 参照

c# - MEF構成とインポート選択の傍受

みんな

問題は、同じエクスポート シグネチャを持つ 2 つのエクスポートされたコンポーネントが存在するが、インポートする必要があるのは 1 つだけである場合です (これは可能です。実際の例では、古いプラグインをアンインストールせずに新しいプラグインをインストールして、古いプラグインを置き換えます)。どのコンポーネントをインポートする必要があるかを示す構成ファイルを提供できますが、問題は MEF に正しい選択を伝える方法です。

私には3つの方法があります:

  1. カスタム カタログを使用して、利用可能なプラグインをフィルタリングします。しかし、A がコンポーネント A をインポートし、B がコンポーネント B をインポートし、コンポーネント A と B が同じエクスポート署名を持っている状況を想定します。コンポーネントごとに新しいカスタム カタログを作成しない限り、カスタム カタログではこれを処理できません。

  2. MEF構成の傍受。それが可能かどうかはわかりませんし、方法もわかりません。しかし、合成プロセスでインターセプトできる方法があれば、これが最善の方法になる可能性があります。

  3. 実際のインターフェイスの代わりにインポート ラッパーを使用します。コンポーネントが構築されると、ラッパーが初期化され、ラッパーが選択ロジックを処理できるようになります (ウィンドウにプロンプ​​トを表示し、ユーザーに 1 つを選択させたり、構成を読み取らせたりするなど)。

0 投票する
2 に答える
922 参照

aop - Spring.NET で DefaultAdvisorAutoProxyCreator を使用してスレッドスコープのオブジェクトを定義する方法

DefaultAdvisorAutoProxyCreator を使用して (インターセプターを使用して) スレッド ローカル オブジェクトを作成したいと考えています。ProxyFactoryObject を使用してそれを行う方法を知っています。

ただし、DefaultAdvisorAopCreator を使用して同じ効果を得る方法がわかりません。これが私が試したことです(しかしうまくいきませんでした):

ThreadLocalTargetSourceCreator は、無条件に ThreadLocalTargetSource インスタンスを返すカスタム クラスです。

つまり、要約すると、(ProxyFactoryObject を使用して) 最初の構成で Spring.NET から ServiceCommand を要求すると、スレッドごとにオブジェクトのインスタンスが 1 つだけ取得されます (正しい動作)。ただし、2 番目の構成 (DefaultAdvisorAutoProxyCreator) では、毎回新しいインスタンスを取得します (動作が正しくありません。スレッドごとに 1 つのインスタンスが必要です)。

何かご意見は?

0 投票する
2 に答える
5901 参照

wcf - UnityコンテナにWCFサービスを登録する

Windows サービスでホストされている wcf サービス ライブラリがあります。Service メソッドの呼び出しをインターセプトする必要があります。この場合、このリンクで見られるように、WCF を Unity コンテナーに登録することをお勧めします。

http://weblogs.asp.net/fabio/archive/2009/03/24/inversion-of-control-with-wcf-and-unity.aspx

Codeplex の Unity.WCF アセンブリによって同様のアプローチを実装しようとしています。コンテナー構成またはブートストラップを wcf サービス ライブラリ (または Windows サービス) のどこに置くべきか理解できませんでした。固体サンプル (対溶液) は提供されていません。

マイ Windows サービス ホスト

私のサービス契約

この場合、インターセプターは機能しないようです。簡単に言うと、WCF サービスが DI コンテナーに登録され、サービス メソッドがインターセプトされるサンプル プロジェクトが必要です。

0 投票する
1 に答える
1708 参照

aop - Autofac + Castle DynamicProxy:インターセプターの順序

AutofacでCastleDynamicProxyを使用しています。プロキシを作成したオブジェクトがあり、プロキシに作用する2つのインターセプターがあります。1つは例外をログに記録するためのもので、もう1つはメソッドの戻り値を変更するためのものです。登録コードは次のようになります。

この順序で引数を指定することにより、必要な結果が得られることがわかります。つまり、例外がログに記録され、結果が処理されます。引数の順序を逆にすると、ロギングは発生しません。

私の質問は、このように登録されていますが、インターセプターは毎回同じ順序で実行されることが保証されていますか?それとも、注文が毎回私が意図したものになるようにするためのより良い方法はありますか?

FWIW、私はIInterceptorSelectorインターフェースを見ました。おそらく私は何かを見逃しているかもしれませんが(それはありそうもないことではありませんが)、この場合は関係がないように見えました。しかし、私が間違っていれば、私は喜んで訂正されます。

必要に応じて、より長いコードサンプルを提供できます。

musicologyman

0 投票する
1 に答える
662 参照

c# - 名前で Unity RegisterType を使用すると、Interceptor が機能しません

タイプを名前で解決すると、傍受が機能しません。しかし、名前を削除すると、再び機能します。私のコードの何が問題になっていますか?