参考我对这个问题的可能答案:您将如何审核 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)
这可能吗。如果是这样,一个简短的例子将不胜感激。