在ASP.NET应用程序中,我们想使用SqlWebEventProvider
记录在应用程序生存期内发生的任何事件。
问题是,我们认为表aspnet_WebEvent_Event
没有提供足够的列,应该记录更多信息(我们需要保留Logged用户)。我知道该信息可以存储在“ Details”列中,但是过滤结果并生成报告并不是那么简单。
因此,我正在寻找添加列的简单解决方案。我希望可以派生SqlWebEventProvider
,但是用于构建存储过程参数的方法是私有的(PrepareParams()
和FillParams()
)。
任何不暗示要重写整个Provider类的简单解决方案?
除了向SqlWebEventProvider及其表默认模式添加列之外,您还可以考虑创建自己的WebEventProvider,该事件将事件记录到自己模式的数据库中。
这里是有关此操作的介绍性参考。http://bit.ly/2fXeuH
经过大量搜索后,似乎不能不继承现有的SqlWebEventProvider
并适当地重写方法以插入值是不可能的。
您可以查看.NET Framework代码以使用.Net Reflector检查当前的实现