【问题标题】:SqlWebEventProvider w/ windows service带有 Windows 服务的 SqlWebEventProvider
【发布时间】:2009-12-22 19:00:01
【问题描述】:

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

  1. 设置 2 healthMonitoring 提供程序 SqlWebEventProviderSimpleMailWebEventProvider(都是 .net 2.0 框架和 sqlwebeventprovider 基本上是带有修改的连接字符串名称的默认选项)

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

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

这是我做的测试

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

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

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

这是我肯定知道的

  • 提供者没有任何问题,两者都可以在网站上运行。
  • 网站和网络服务可以以同样的方式从 machine.config 继承
  • 连接字符串正确
  • 事件正在引发
  • Windows 服务和网站的事件都可以提交到SimpleMailWebEventProvider
  • 事件只能从网站上提交到SqlWebEventProvider

【问题讨论】:

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


    【解决方案1】:

    我找到了问题

    “aspnet_WebEvent_LogEvent”需要参数“@ApplicationPath”,但未提供。

    【讨论】:

      猜你喜欢
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多