問題タブ [linfu-dynamicproxy]

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 投票する
3 に答える
9390 参照

.net - LinFu.DynamicProxy と Castle.DynamicProxy の違いは何ですか?

私が取り組んでいるライブラリに、動的プロキシが必要になるロジックを追加しようとしています。これら 2 つのライブラリを実稼働環境で使用しているユーザーからアドバイスをもらいたいと思います。一方が他方よりも優れているか、他のものに切り替えなければならない欠点があったかなど。基本的に、ライブラリの経験を教えてください。答えは、どちらを使用するかを決定するのに役立ちます。

- 編集 -


私が開発しているライブラリは Mono をサポートすることを忘れていました。したがって、2 つのライブラリとそれらの Mono のサポートについて共有できる知識があれば、それも素晴らしいことです。

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

nhibernate - バージョン 2.1.2 へのアップグレード後に Nhibernate が機能しない

最近、NHibernate の実装をバージョン 2.1.0 から 2.1.2 に変更しました。遅延読み込みには、NHibernate.ByteCode.Linfu を使用して LinFu 実装を使用しました。

最新バージョンに変更したため、次のエラーが発生しました。

デバッグ中に次のエラーが発生しました。

これは NHibernate.ByteCode.LinFu の使用によるものですか? アプリケーションを再び機能させるにはどうすればよいですか?

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

c# - インターセプト、解析、コンパイルする方法は?

これは私がしばらく解決するのに苦労してきた問題です。メソッド内のコードをコンパイル時にテンプレートから解析されたコードに置き換えるか(PostSharpが思い浮かびます)、動的プロキシを作成する方法(LinfuまたはCastle)が必要です。したがって、このようなソースコードが与えられます

これにコンパイルする必要があります

どのテクノロジーを使用するかは重要ではありません。PostSharpのImplementMethodAspectを試してみましたが、どこにも行きませんでした(経験不足のため)。Linfuフレームワークも調べました。誰かがこれを行うための他のアプローチや方法を提案できますか、私は本当に感謝します。私のプロジェクト全体はこれに依存しています。

仮定:

  1. コードはどのクラスにも表示できます。
  2. テンプレートコードには常に属性[テンプレート]の注釈が付けられます
  3. テンプレートメソッドは常に文字列を返します。

あるフォームから別のフォームへのコードの解析はすでに完了しています。今、私はそれを交換する方法が必要です。

「ビーファー」の例:

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

nhibernate - NH3.2 の LinFu バイトコード プロバイダーはどこにありますか?

NHibernate の 3.2 リリースには含まれておらず、どこにもありません。
それはどこにありますか?

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

nhibernate - NHibernate3.2の場合はNHibernate.ByteCode.LinFu.dll

NHibernate 3.2に対してコンパイルされたNHibernate.ByteCode.LinFu.dllの最新バージョンはどこにありますか?

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

c# - Ninject 傍受の動的プロキシの問題

しばらく依存性注入フレームワークとして使用してきた Ninject で動作するように傍受をセットアップしようとしています。

NuGet から傍受拡張機能をダウンロードし、Castle Dynamicproxy 実装と LinFu 実装の両方で試してみましたが、アプリケーションでは動作しませんでした。

パラメーターなしのコンストラクターを持たないクラスでプロキシを作成すると、Castle はエラーを発生させました。これは、すべてのサービス オブジェクトにコンストラクターを介して注入された依存関係があるためです。これは問題です。エラーは次のとおりです。

System.ArgumentException: クラスのプロキシをインスタンス化できません: emedia.RapidSystems.Subscriber.Presenters.RRSubmissionPresenter. パラメーターなしのコンストラクターが見つかりませんでした。パラメータ名: constructorArguments

LinFu インターセプターは、コードが汎用パラメーターを使用してメソッドを呼び出すまで、より適切に機能し、次のようになりました。

System.ArgumentException: ジェネリック型は無効です。パラメータ名: methodInfo

これは、傍受しようとしているクラスの 1 つの簡略化されたバージョン コードです。

Add と GetAll は正常に動作しますが、GetEntity がプロキシで呼び出されるとエラーが発生します。

この時点で、どちらのインターセプターもコード ベースで機能しないため、私は立ち往生しています。単純なデモクラスではなく、実際の複雑な実稼働システムで Ninject インターセプトを使用した人はいますか? もしそうなら、どのように? 機能する限り、どのインターセプターを使用してもかまいません。

それとも、Ninject による傍受はまだ十分に成熟していないのでしょうか。全体を Unity のような別のものに置き換えることを検討する必要がありますか?

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

c# - IEnumerableを返すLinfu動的プロキシおよびインターフェイスメソッド

I am using Linfu to generate a proxy object for an interface. Everything works fine except when calling a method that returns an IEnumerable<object> I get an error somet

I am using Linfu to generate a proxy object for an interface. Everything works fine except when calling a method that returns an IEnumerable<object> I get an error something like this:

Unable to cast object of type '< IEnumerableRpcCall >d__2' to type 'System.Collections.Generic.IEnumerable`1[System.String]'.

FYI: IEnumerableRpcCall is the name of the method inside the interceptor code that does yield return object rather than return object.

It seems the problem is that linfu is returning a pointer to the method rather than an IEnumerable. Has anyone found a workaround for this?


try defining "function get" before you reference it.

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

c# - 商用アプリケーションでのLinFu.DynamicProxyでのAutomapperの使用

Automapperを商用アプリケーション(.NET 3.5)で使用したいと考えています。クリアランスを取得するには、automapperのソースコードが必要です。

必要なautomapperソースコードを取得しましたが、コードをビルドした後、使用しているDLLが108KBであるときにautomapper.dllのサイズが86KBであることがわかりました。アプリケーションはこの86KBオートマッパーdllで動作していませんでした

コードを調べたところ、サイズ21KBの別のDLLLinFu.DynamicProxyが見つかりました。このDLLをオートマッパーDLLアプリケーションで使用すると、正常に動作します。

これに基づいて、私が使用していた108KBのdllには、実際には86KBのAutomapper +21KBのLinFu.DynamicProxyが含まれていると結論付けました。

今、私はライセンスに関連する質問があります。LinFu.DynamicProxyの承認も取得する必要がありますか?GNUライセンスが付属しています。