1

在 ASP.NET 应用程序中,我们希望使用SqlWebEventProvider记录在应用程序生命周期内发生的任何事件。

问题是我们认为该表aspnet_WebEvent_Event没有提供足够的列并且应该记录更多信息(我们需要保留 Logged 用户)。
我知道这些信息可以存储在“详细信息”列中,但是过滤结果和构建报告并不是那么简单。

所以我正在寻找一个简单的解决方案来添加一列。我希望我可以派生SqlWebEventProvider,但用于构建存储过程参数的方法是私有的(PrepareParams()FillParams())。

任何不意味着重写整个 Provider 类的简单解决方案?

4

2 回答 2

3

您可以考虑创建自己的 WebEventProvider 将事件记录到您自己的架构的数据库中,而不是向 SqlWebEventProvider 和它的表默认架构添加列。

这是有关如何执行此操作的介绍性参考。 http://bit.ly/2fXeuH

于 2010-06-24T00:55:37.217 回答
0

SqlWebEventProvider经过大量搜索后,如果不从现有继承并正确覆盖方法以插入值,似乎是不可能的。

您可以查看 .NET Framework 代码以使用.Net Reflector检查当前实现

于 2010-06-15T15:17:35.533 回答