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的权限机制,唉...

程序必须用管理员运行才可以!!!!!!!!!

原文地址:https://www.cnblogs.com/tianciliangen/p/7441172.html