3

この質問に対する私の考えられる答えを参照すると、どのユーザーが変更を行ったかを記録しながら、ASP.NET メンバーシップ テーブルをどのように監査しますか?

所有していないコードから、所有していない封印された内部クラスの ctor への呼び出しを傍受して、オブジェクトを操作してから返すことは可能ですか?

具体例:

SqlMembershipProvider、すべてのデータ アクセスに対して、接続ヘルパー クラスをインスタンス化しますSystem.Web.DataAccess.SqlConnectionHolder

System.Web.DataAccess.SqlConnectionHolder望ましい結果は、このインスタンス化をインターセプトし、実行を続行させる前に、の ctor で開かれているパブリック接続で操作を実行することです。

更新: つまり、leppie が私の例に関して観察したように、私が欲しいと言っていることは、私が望んでいるものではありません。

目標はこれからSystem.Web.DataAccess.SqlConnectionHelper.GetConnection()

では、このメソッドの呼び出しを傍受できますか?

internal static SqlConnectionHolder GetConnection(string connectionString, bool revertImpersonation)

これは可能ですか?もしそうなら、簡単な例をいただければ幸いです。

4

1 に答える 1

2

技術的には、これは Postsharp と同様に IL リライターで可能です。ただし、これがあなたが話している.NETアセンブリであり、強力な名前があり、GACおよびngen-edに格納されていることを考えると、「技術的に可能」な段階を通過する可能性はほとんどありません.

于 2010-05-26T13:07:20.880 に答える