WCF的CommunicationObjectFaultedException异常问题
前天刚刚重装了系统,装上了Win7,结果在调试的时候,WCF服务Open报错了!
具体错误信息如下:
System.ServiceModel.CommunicationObjectFaultedException: 通信对象 System.Service
Model.Web.WebServiceHost 无法用于通信,因为其处于“出错”状态。
在 System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
在 System.ServiceModel.ServiceHostBase.System.IDisposable.Dispose()
1. MSDN
MSDN给出的备注是这样的:
调用出错通信对象时引发的 CommunicationObjectFaultedException。CommunicationObjectFaultedException 是 System.ServiceModel.CommunicationException 的派生类,可以在适当的应用程序中出现。因为调用 ICommunicationObject.Abort 方法的代码通常会报告导致调用 ICommunicationObject.Abort 的错误条件,所以该异常指示调用失败,但最有用的错误消息位于其他位置。
支持平台:
虽然它支持的系统平台中不包括Win7的,但肯定不应该是系统的问题造成的。
线程安全:
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
2. 查看错误信息中的堆栈
从堆栈中返回的信息说是可能TimeOut的问题,但是我是刚启动啊,不可能超时啊...
上网查询了半天也没能找到解决方案,郁闷啊,呵呵。不祥的预感弥漫着,但手上却操作着,关闭Vs2010,然后Vs2010右键,属性->兼容性->以管理员身份运行此程序。
Ok,服务启动正常,不得不感叹Win7的权限机制,唉...