Sql Web EventProvider一个/ windows服务

时间:2009-12-22 19:00:02

标签: c# .net windows-services health-monitoring

我正在尝试从Windows服务向SqlWebEventProvider提升一些自定义事件。以下是我采取的步骤和我看到的结果。我无法想出这个。

  1. 设置2 healthMonitoring个提供商SqlWebEventProviderSimpleMailWebEventProvider(.net 2.0框架和sqlwebeventprovider基本上是默认的w /修改后的连接字符串名称)

  2. 设置提升相同事件类型的网站和Windows服务

  3. 将healthmonitoring元素从全局web.config移动到machine.config(因此windows服务可以获取配置)..(healthmonitoring默认值位于全局web.config中,因此它们不能从windows继承服务,所以这就是为什么我必须将默认值移到机器上)

  4. 以下是我测试的内容

    为了测试这个场景,我从网站向两个提供商提出了一个事件,它运行良好。然后在Windows服务中我将事件提升到两者,它只适用于SimpleMailWebEventProvider.我确保连接字符串对于SqlWebEventProvider是正确的(它们都是从machine.config获取conn字符串)

    我将整个HealthMonitoring元素从web.config复制到了Windows服务配置文件中,但仍然有相同的行为。

    我重新启动了服务,卸载了它重新安装它......仍然,同样的行为。

    这是我肯定知道的

    • 提供商没有任何问题,两者都可以在网站上发挥作用。
    • 网站和网络服务可以以相同的方式从machine.config继承
    • 连接字符串正确
    • 事件正在提升
    • 对于Windows服务和网站
    • ,事件可以升至SimpleMailWebEventProvider
    • 事件只能从网站
    • 升至SqlWebEventProvider

1 个答案:

答案 0 :(得分:0)

我发现了问题

'aspnet_WebEvent_LogEvent'需要参数'@ApplicationPath',这是未提供的。