質問
大きなアプリでは、組み込みのAOP機能があればいいのにと思っています。 C#の場合、できることはファクトリーとRealProxys、PostSharp、ICorDebug、ICorProfiler、またはインジェクションフレームワークです。 AOPを実行するための明確な組み込み方法はありません。
AOPが進行中であることを示す兆候(ブログ投稿/内部ディスカッション)はどこにもありますか?
解決
Romainの答えは、(ほぼ:)現在のソリューションを完全にカバーしています。今後のサポートに関しては、 Anders Hejlsberg には以前に述べたと、彼らは待っていた。 AOPに関するモードを参照してください。
cscの管理された書き換えと« Compiler as a Service»があれば、コンパイラにプラグインしてそこにアスペクトを挿入できることを期待できます。
他のヒント
「AOPを実行するための組み込みのクリーンな方法」について聞いたことがありません。しかし、あなたが述べたように、 PostSharp のような成熟した強力なフレームワークを使用して、すでに「AOPを行うクリーンな方法」がたくさんあります。または Castle DynamicProxy 。
BCLを使用して、AOPを実行するための1つの明白な方法は、かなり強い制限が考えられますが、.NET Remotingスタックの透過的で実際のプロキシを使用することです。
別の方法は、System.Reflection.Emitに依存して、キャッスルのハム、DynamicProxyなどのプロキシを動的に生成することです。
最後に、エンタープライズに付属する別のMicrosoftフラグ付きソリューションもあります。ライブラリ。 ポリシーインジェクションアプリケーションブロックについて話している。 Unity は、PIABを活用するインターセプト機能も提供します。
Spring.NETはAOPも提供します。多くの設定が必要ですが、一度設定するとうまく機能します。
Delphi Prismの5月リリースでは、言語レベルでAOPがサポートされています。
こちらで詳細を確認できます
http://prismwiki.codegear.com/en/Cirrus
この場所からのアスペクトのオープンソースライブラリもあります