如果我的服务遇到错误,我希望该线程返回一个错误并终止,但以后的请求应该仍然正常工作。我该怎么做呢?如果我有一个未处理的异常,它将被传回客户端,但服务停止。C#WCF服务抛出一个错误,但继续
回答
什么样的未处理的异常?除非异常是终止异常(堆栈溢出等),否则ServiceHost应该继续响应随后的请求。
默认情况下,每个请求都会获得自己的服务实现实例,因此,其中一个请求处理程序中的错误不应影响其他请求处理程序。
因此,在WCF的默认行为中,每个请求都会获得一个品牌崭新的服务类新实例,然后处理该请求并终止 - 是否发生异常。可能的问题是例外情况 - 如果您让它传递回客户端“未过滤”,那么通道(客户端和服务器之间的通信链路)可能会“故障”,从而无法使用。
如果您将所有服务例外包装到FaultException
或FaultException<T>
,那么您的客户端和服务器之间的通道应该没问题。为了捕获服务器上的所有可能的错误,请检查在您的服务类中实现IErrorHandler接口。
如果我使用
在这种情况下,您只能同时使用一个实例 - 但每个请求仍会获得自己的服务类副本。 – 2010-10-15 18:31:52
- 1. WCF服务在WCF服务主机中抛出错误
- 2. 从Web服务调用另一个wcf服务抛出一个错误
- 3. WCF数据服务 - 服务操作抛出一个错误的请求异常!
- 4. 如果遇到一个错误,Azure表存储服务上下文将继续抛出相同的错误
- 5. 在WCF服务抛出异常抛出一个
- 6. Glassfish服务抛出错误
- 7. windows服务抛出错误
- 8. EndPointNotFoundException服务抛出错误
- 9. Web服务抛出错误
- 10. WCF服务抛出NetDispatcherFaultException
- 11. WCF 4路由服务抛出处理程序错误
- 12. WCF/Windows服务包装生成非抛出错误
- 13. WCF服务抛出:接收HTTP响应时发生错误
- 14. 从服务合同的RealProxy中抛出WCF错误异常
- 15. 当对PrincipalContext验证凭证时,WCF服务会抛出错误?
- 16. WCF数据服务ODATA抛出与JSONP错误
- 17. 调用WCF服务时JQuery.Post抛出错误
- 18. 调用从测试网站WCF服务方法抛出错误
- 19. C#WMI获取服务信息查询抛出一般错误
- 20. 计划任务抛出一个错误
- 21. C#抛出一个枚举InvalidCastException错误
- 22. C++征抛出错误但计算
- 23. 错误WCF服务
- 24. 被抛出一个愚蠢的支架错误。还不清楚如何继续
- 25. 什么导致Azure服务总线中继WCF服务抛出AddressAlreadyInUseException
- 26. 调用另一个WCF服务的WCF服务失败,出现Web错误400错误的请求
- 27. C++抛出错误
- 28. 用Jasmine测试AngularJS服务抛出一个错误parsed.protocol
- 29. 为什么这会抛出一个内部服务器错误
- 30. Web服务抛出错误System.ServiceModel.EndpointNotFoundException
我在抛出FaultException –
Xodarap
2010-10-15 17:03:16