System.ServiceModel.CommunicationObjectFaultedException
Posted
技术标签:
【中文标题】System.ServiceModel.CommunicationObjectFaultedException【英文标题】: 【发布时间】:2012-06-25 09:59:02 【问题描述】:我在一台服务器上遇到以下问题,仅在另一台服务器上或在本地正常工作。
我用的是IIS6 Windows 2003,有设置相关的问题吗?
: 通信对象,System.ServiceModel.Channels.ServiceChannel, 不能用于通信,因为它处于故障状态。 服务器堆栈跟踪:在 System.ServiceModel.Channels.CommunicationObject.Close(时间跨度 超时)在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy。
【问题讨论】:
【参考方案1】:您不能使用出现故障的通道。您需要重新创建一个新频道。
我的工具包对此具有内置支持,因此您可以无缝地再次调用该频道。它在内部处理这种情况。
见http://neovolve.codeplex.com/releases/view/53499。
【讨论】:
您应该做的一件事是检查您的操作中是否存在缺失的故障合同。你可以抛出一个错误,只要为操作定义了错误契约,它就不会导致通道出错。【参考方案2】:首先,我们需要找出真正的问题或问题是什么。为此,请在服务 App.Config 文件中将 includeExceptionDetailInFaults 设置为 true,如下所示:
serviceDebug includeExceptionDetailInFaults="true"
那么当你捕捉到异常时,你就会得到真正的异常细节。我得到了 AccessDeniedException。所以我从 Power Shell 运行了这个命令: netsh http 添加 urlacl url=http://+:8080/user=Domainxxx\UserNamexxx。问题解决了。
【讨论】:
以上是关于System.ServiceModel.CommunicationObjectFaultedException的主要内容,如果未能解决你的问题,请参考以下文章