2009-04-16 63 views
2

WCF服务托管在Windows服务(WS)中。如何终止自己的Windows服务

当数据库(SqlServer 2005)发生故障时,由于在数据库上执行的操作而抛出SqlException。

我想要完成的是WS - WCF服务托管 - 当数据库也关闭时应该关闭。

WS将被手动重启。

我的想法是对此无能为力。未处理的异常将停止WS。

这是正确的方法吗?

回答

2

如果你想明确地停止你的Windows服务,只需调用你的服务类的.Stop()方法。

Windows服务可以配置为在出现错误时自动重启 - 因此只要让SqlException流向顶端可能无法实现您想要的。

马克

1

首先,您需要检测SQL服务器是否会从您将得到的SQLException中断。其次,为什么要杀死web服务,而是向客户端返回一个错误,说服务由于某种原因暂时关闭。

+0

第二点:客户想用那种方式,没有讨论,pffff – 2009-04-16 08:13:06

+0

这是非常愚蠢的......所以,当DB是备份,他们必须手动重新启动呢? – 2009-04-16 08:19:52