我正在尝试SqlWebEventProvider
从 Windows 服务引发一些自定义事件。这是我采取的步骤和我看到的结果。我无法弄清楚这一点。
设置 2 个
healthMonitoring
提供程序SqlWebEventProvider
,并且SimpleMailWebEventProvider
(.net 2.0 框架和 sqlwebeventprovider 基本上是默认的,带有修改的连接字符串名称)设置都引发相同事件类型的网站和 Windows 服务
将 healthmonitoring 元素从全局 web.config 移动到 machine.config(因此 windows 服务可以获取配置)..(healthmonitoring 默认值位于全局 web.config 中,因此它们不能从 windows 服务继承,所以这就是为什么我不得不将默认值移到机器上)
这是我所做的测试
为了测试这个场景,我从网站上向两个提供商提出了一个事件,它运行良好。然后在 Windows 服务中,我向两者都提出了事件,它只对SimpleMailWebEventProvider.
我确保连接字符串正确SqlWebEventProvider
(它们都从 machine.config 获取 conn 字符串)有效。
我将整个HealthMonitoring
元素从 web.config 复制到 Windows 服务配置文件,仍然得到相同的行为。
我重新启动服务,卸载它重新安装它......仍然,同样的行为。
这是我确定的
- 提供者没有任何问题,两者都可以从网站上运行。
- 网站和 Web 服务可以以相同的方式从 machine.config 继承
- 连接字符串正确
- 事件正在引发
- 事件可以引发到
SimpleMailWebEventProvider
Windows 服务和网站 - 活动可以从网站上提升到
SqlWebEventProvider
唯一