我的WCF出了问题。我的网络服务中有一段代码:
try { AtachThreadToClarion(); }
catch (AccessViolationException) { this.log.Log("attach to clation exception: AccessViolationException"); }
catch (SEHException) { this.log.Log("attach to clarion exception: SEHException"); }
catch (Exception) { this.log.Log("attach to clarion exception: Exception"); }
当这行代码中出现错误时,它根本就没有被捕获。我不知道错误是什么,只是它阻止webservice接收几分钟的另一个请求。
为什么我知道这条线是这里的问题?我在代码中的行之前和之后都有日志。当第一个日志保存到文件时,后面的日志不是。
网络服务有ServiceBehaviour:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Single)]
我的网络服务在队列中一个接一个地请求 任何想法我怎么能抓住异常,甚至没有被Exception捕获? 和/或如何防止我的网络服务在遇到它后挂起?