我正在使用TopShelf进行Windows服务。该服务是本地代理。问题是Windows启动我的服务有时无法成功运行。我认为问题在于该服务尝试运行,但它依赖于其他网络服务。我使用DependsOn(),因此我的服务将等待其他网络服务,但我没有发现哪一个是我的服务所依赖的真实服务。我想绝对避免使用StartAutomaticallyDelayed()。
我尝试了以下服务:
x.DependsOn("Winmgmt");
x.DependsOn("Netman");
x.DependsOn("Eventlog");
x.DependsOn("Dnscache");
x.DependsOn("LanmanServer");
x.DependsOn("LanmanWorkstation");
x.DependsOn("Dhcp");
我分别尝试并一起尝试了它们,但有时服务运行成功,有时却无法运行。
这是我第一次使用Windows服务,因此我想知道哪些是我真正必须依靠DependsOn才能使代理服务在启动时成功运行的服务。 因为我认为为DependsOn提供很多服务的想法不好,对吧?
我正在为Windows 7、8、8.1和10设计
谢谢您!