問題タブ [unity-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 投票する
2 に答える
3514 参照

unity-container - Unityコンテナー:すべてのメソッド呼び出しの周りに子コンテナーを作成します

Unityインターセプト/拡張/カスタムプロキシを使用してこれを実行できますか?

現在、上記のコードはWCFの動作として実装されています。これで、WCF呼び出しを行うのではなく、このサービスレイヤーに直接アクセスするクラスができ、この動作が必要になります。興味深いのは、ユニティインターセプト内に子コンテナを作成する必要があることです。

0 投票する
0 に答える
1368 参照

c# - Unity インターセプト: イベントを持つインターフェースのインターフェース インターセプト

ユニティ インターセプトを使用して例外をインターセプトしようとしています。インターフェイスと、そのインターフェイスを実装するクラスを定義しました。

InterfaceInterception を使用しようとしていますが、Unity は型がインターセプトできないという例外をスローしています。クラスを確認しましたが、正常にインターセプトされた他のクラスとの唯一の違いは、このクラスとインターフェイスが何らかのイベントを宣言していることです。VirtualMethodInterception を使用すると、Unity は例外をスローしません。

私はc#を使用しています

VirtualMethodInterceptor が機能するのはなぜですか? InterfaceInterceptor が機能しないのはなぜですか?

以下は、実際のコードを簡略化したものです。

ユニティ構成は

例外の詳細は次のとおりです。

例外: ArgumentException - ClassToBeInterceptable 型はインターセプト可能ではありません。パラメータ名:interceptedType

編集 :-

このクラスは別のクラスの依存関係として指定されており、「別の」クラス (正確には「別の」クラスのインターフェース) に依存する別のクラスの構築中に上記の例外がスローされます。

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

c# - SharpSNMP の実装 snmptrad の例に基づく動作停止

Sharp-SNMP Library (snmptrapd) に含まれる例に基づいてアプリケーションのプロトタイプを作成して、SNMP プロトコルからデータを取得しましたが、まったく動作しなくなりました。何らかの理由で動作を停止しましたが、例外をスローせずにコンパイルし、うまく実行します。

問題は、イベントが発生しないことにあります。

依存関係:

  • Microsoft の Unity コンテナ
  • SharpSNMP ライブラリ
  • SourceGrid (Windows.Forms)

2日前までは魅力的に機能していましたが、今ではアイデアが不足していることに注意する必要がありました。(そして、コード内で根本的なものを変更していませんでした)。

C# コード

App.Config

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

c# - vb.netのユニティインターセプト自動構成

私の仕事ではそれしか許可されていないので、vb.netで傍受を機能させようとしています。この If.something 構文を持つラムダに遭遇したことはありません。

これは vb.net でどのように表示されますか? 将来これをググる必要がある場合に備えて、この構文は何と呼ばれますか?

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

c#-to-vb.net - VB.NET で Unity AutoConfig を使用して傍受を構成する

私の仕事ではそれしか許可されていないので、vb.netで傍受を機能させようとしています。私がそれを使用する方法は、実行されるすべてのビジネスロジック関数がインターセプトされてデータベースに記録されるように、いくつかのロガーを構成することです (悪い考えですが、単なる例です)。これは私が見つけた例です:

これは私が vb.net で動作させようとしたものですが、エラーが発生し続けます。

エラーは次のとおりです。

ここで明らかに何らかの型を指定する必要がありますが、要点は自動登録する必要があるということです。では、なぜ型を指定する必要があるのでしょうか? また、C# コードはそれを必要とせず、コード サンプルも必要としません (以下を参照)。

http://autoregistration.codeplex.com/

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

c# - UnityICallHandlerとIInterceptionBehavior

UnityはAoP機能を実現するために2つの異なるルートを提供しているようです。

問題はなぜですか?違いは何ですか?各アプローチの長所と短所は何でしょうか?

たとえば、ICallHandlerを使用します。

ただし、ICallHandlerの代わりにIInterceptionBehaviorを使用して、同様の機能を実現することもできます。

インターセプトを設定できるが、コールハンドラーを使用するハイブリッドもどこかにあります。

では、どちらを使用しますか?単一のフレームワークに一見冗長なソリューションがあるのはなぜですか?

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

c# - ユニティ + インターセプト + フェイク = ビッグ ボール オブ ファイア

Unity を新しい Fakes フレームワーク (以前の pex & mol) で快適に動作させるのに問題があります。

Unity インターセプト ライブラリの偽物を作成しようとすると、デバッグ時に単体テストが正常に実行されましたが、

InvalidProgramException - 共通言語ランタイムが無効なプログラムを検出しました。

問題はなぜですか?デバッグとリリースで動作が異なるのはなぜですか? 単体テストはデバッグ時に合格しますが、代わりに実行することを選択すると上記の例外で中断します。

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

unity-container - Microsoft Unity 基本クラスのインターセプト

基本クラスとそこから派生したクラスを持つアプリケーションがあり、各実装クラスには独自のインターフェイスがあります。基本クラスの派生型の例外処理に Unity のインターセプトを使用したいと考えています。

私はインターセプトが初めてなので、すべての癖を知りません。私の知る限り、各実装解決でインターセプトを登録する必要があります。ポイントは、すべての実装に基本クラスがあることです。そのため、冗長性をスキップして、各実装クラスで起動する基本クラスのみにインターセプトを設定できると考えました。

これは私の設定です:

これはうまくいきますが、このようなものが欲しいですTestUnityContainer

基本サービスから継承するさらに多くのサービス クラスを用意しますが、これらはすべて同じインターセプト動作を行うため、時間を大幅に節約できると考えました。

これは Unity で可能で、どのように可能ですか? モデルに多少の修正が必要な場合は、軽微なものである限り、喜んで対応します。

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

dependency-injection - Unity インターセプトと循環参照を使用したクラス

私のリッチ ドメイン モデルには循環参照がありますが、これは意図的なものです。

また、より詳細な制御のために独自の ORM を作成しており、プロパティに加えられた変更を検出するために、Unity を使用してセッターへの呼び出しをインターセプトし、プロパティ変更通知をトリガーしています (EF の動作と同様)。

問題は、ポリシー インターセプトが同じオブジェクトを何度も繰り返しているため、スタック オーバーフローが発生していることです。参照カウントを行う方法はありますか?

コンストラクターが循環的に依存していないことは既に確認済みですが、同じオブジェクトの繰り返しの再帰を停止するには、ポリシー インジェクションが必要です。

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

c# - 注文後にメソッド呼び出しをトレースするにはどうすればよいですか?

順番に従ってメソッド呼び出しをトレースしたいと思います。ロギングはプロダクションに適用されるため、コードをあまり変更したくありません。

これまでのところ、メソッド呼び出しのトレースに Unity のインターセプターを適用したいと考えていましたが、ほぼ完了しました。ただし、ログの出力は期待したものではありません。必要なのは次のとおりです。

以下のpeusedoコードから:

トレース ログの形式は次のとおりです。

メソッド呼び出し 1 に入る / メソッド呼び出し 2 に入る

メソッド呼び出し 2 からの離脱 / メソッド呼び出し 1 からの離脱

ところで、私のアプリケーションは .Net フレームワーク バージョン 4 で実行されています。

以下のようなプログラム:

私のコードで申し訳ありません。かなり長いです。