将列添加到SqlWebEventProvider

问题描述 投票:1回答:2

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

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

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

任何不暗示要重写整个Provider类的简单解决方案?

asp.net health-monitoring
2个回答
3
投票

除了向SqlWebEventProvider及其表默认模式添加列之外,您还可以考虑创建自己的WebEventProvider,该事件将事件记录到自己模式的数据库中。

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


0
投票

经过大量搜索后,似乎不能不继承现有的SqlWebEventProvider并适当地重写方法以插入值是不可能的。

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

© www.soinside.com 2019 - 2024. All rights reserved.