我创建了自己的类,如下所示:
[DataContract]
public class MyOperationFault : ExceptionDetail
{
/// <summary>
/// Contructor
/// </summary>
/// <param name="ex"></param>
public MyOperationFault(Exception ex) : base(ex)
{
}
}
那么我的 wcf 服务接口如下所示:
[OpearationContract()]
[FaultContract(typeof(MyOperationFault))]
void DoWork();
现在一切都在开发环境中按预期工作 - 当我提出FaultException
:
throw new FaultException<MyOperationFault>(new MyOperationFault(new Exception("Failed")));
它在客户端被抓住没问题。
当我开始使用wcftestclient.exe
工具测试我的服务时,就会出现问题。我收到此错误:
添加服务失败。服务元数据可能无法访问。确保您的服务正在运行并公开元数据。 错误:无法从 http://localhost:33620/MyService.svc获取元数据如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error URI: http://localhost:33620/MyService.svc的 MSDN 文档 元数据包含无法解析的引用:' http://localhost:33620/MyService.svc '。无法连接到 http://localhost:33620/MyService.svc。TCP错误代码10061:无法建立连接,因为目标机器主动拒绝它127.0.0.1:33620。无法连接到远程服务器 由于目标机器主动拒绝,无法建立连接 127.0.0.1:33620
一旦我[FaultContract(typeof(MyOperationFault))]
从服务的方法中注释掉 -就会wcftestclient
开始工作而不会出现故障。如何解决这个问题?