我正在对作为Windows服务运行的崩溃WCF服务进行故障排除。该服务与数据库通信并抛出异常,似乎可以正确处理
try
{
this.sessionRepository.AddSession(session);
}
catch (Exception e)
{
var errorMessage = string.Format(CultureInfo.InvariantCulture, "Failed to create a new session");
// some logging
throw new FaultException(errorMessage);
}
如果我没有弄错,这不应该取消服务,当我尝试重现我在客户的日志文件中找到的相同的sql错误错误时会发生什么。我可以在我的日志中看到它,但服务继续在我的机器上运行。但是,在客户的计算机上,服务在呼叫期间崩溃。
在崩溃转储中,我也可以找到像这样的原因字符串
<Fault xmlns="http://www.w3.org/2003/05/soap-envelope">
<Code>
<Value>Sender</Value>
</Code>
<Reason><Text xml:lang="en-GB">Failed to create a new session</Text></Reason>
</Fault>
所以我想它也会把它发送给客户端。但是我不知道为什么服务在通话期间总是崩溃。你对我应该研究什么有什么建议吗?