我有一个.NET Framework 1.1的Windows服务,一台服务器上的工作,但在另一个没有被称为OnStart方法。我有一个跟踪语句在OnStart中覆盖的第一行,它没有被执行。也不例外抛出和Windows服务控制管理器认为该服务已正常启动。

任何人都有一个想法可能保持OnStart方法被调用?

编辑:这里的的.config设置跟踪输出

<configuration>
    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="LogFileWriter" type="System.Diagnostics.TextWriterTraceListener,System" 
                        initializeData="c:\interface.log" />
            </listeners>
        </trace>
    </system.diagnostics>
</configuration>
有帮助吗?

解决方案 3

这结束了与防止服务实例的构造函数运行一台服务器一个非常模糊的问题。

其他提示

如果你正在写你的痕迹一EventLogTrace听众很可能是第二台机器上的服务帐户没有足够的权限访问事件日志。见我回答这个问题:

Windows服务运行,但事件日志无法正常工作

还有什么其他活动发生在暗示该事件未烧制的OnStart事件?

如果被调用的OnInit,然后将其覆盖,并设置处理程序自己

protected override void OnInit(EventArgs e) {
  this.Start += new System.EventHandler(OnStart);
  base.OnInit(e);
}

如果OnInit的不叫,添加AutoEventWireup = “true” 以<%@页部分可能的帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top