2

我有一个使用Topshelf编写的 Windows 服务。我正在尝试将其配置为使用具有受限权限的 Windows 帐户运行,而不是使用 LocalSystem。这也是必要的,因为我想使用集成身份验证连接到数据库。

该服务在作为 LocalSystem 运行(尽管使用包含凭据的数据库连接字符串)并以我的受限帐户(使用 runas)运行控制台应用程序时工作。

但是,当我尝试启动服务时,服务控制管理器超时等待响应:

服务未及时响应启动或控制请求。

我还在应用程序弹出事件日志中得到以下信息:

应用程序错误:异常未知软件异常 (0xc06d007e) 发生在位置 0x77e4bef7 的应用程序中。

应用程序做的第一件事是写入日志文件,但当我启动服务时它没有达到。如果我通过控制台运行,日志记录工作。

有什么建议我可能会丢失或我接下来可能会尝试什么?

4

3 回答 3

2

这个问题似乎与服务器(域控制器)而不是 TopShelf 有关。使用 .NET 服务组件构建的服务也表现出相同的行为。

该服务在不同的机器上成功运行(在同一个域中)。

不幸的是,这无助于诊断问题,但给了我一个可以接受的解决方法。

于 2010-02-02T13:24:18.367 回答
0

查看 MSDN 文章调试 windows 服务,它描述了如何调试 windows 服务。

于 2009-10-01T02:25:45.570 回答
0

我刚刚开始在我用 .net 2.0 编写的一些服务上看到这一点。当服务器启动时它们会正常启动,但如果我整天重新启动它们,它们将无法启动,并给出此错误消息。

他们目前在具有管理员权限的域帐户下运行,但为了踢球,我将其切换到本地系统,并且服务正常启动。我停止了它,将其更改回域帐户(重新输入密码),并且它按预期再次正常启动。

不知道这是否算作“修复”这么多,但这对我有用。

于 2009-10-09T16:45:23.437 回答