调试WCF服务期间出现异常异常

时间:2011-03-22 13:29:03

标签: c# wcf visual-studio-2010

这是一个将在IIS中托管的WCF服务。当我从vs2010运行调试时,我的WCF客户端会收到此异常:

  

无法建立连接,因为目标计算机主动拒绝它

服务URL是由visual studio动态分配的服务URL,WCF服务正在VS中运行。奇怪的是,这个异常实际上从未传递给我的应用程序,当我开始在输出窗口中注意到这样的行时,我才进入它:

  

线程''(0xa5c)已退出,代码为0(0x0)。

每次在输出窗口中抛出时,都会出现System.Net.SocketException。为什么VS托管的WCF服务无法访问?

这是一个.NET 4.0 WCF服务和客户端

更新 我想我应该多说一点。客户端在计时器上每1秒进行一次呼叫。我使用一个标志来确定调用是否完成所以我不重叠。只是要强调,这个错误实际上从未传递给我的客户端。我的客户端表现得就像呼叫成功一样。我甚至知道发生SocketException的唯一原因是因为我使用VS选项在Exception中断。

4 个答案:

答案 0 :(得分:1)

在客户端应用程序或服务中抛出SocketException的位置?听起来这个线程是一个工作线程被调整为服务请求,所以这是正常的...如果在工作线程终止而没有回复后客户端发生套接字异常,我会把调试器放在服务代码,以查看它是否能够成功完成请求。

答案 1 :(得分:0)

有许多常见的罪魁祸首。

1)防火墙中尚未打开端口。

2)WCF端点代码在启动时抛出异常,通常这可能是权限问题或缺少dll。

3)端点和客户端上的地址,绑定或配置不相同。

答案 2 :(得分:0)

您收到的错误是TCP错误,而不是WCF错误。以下是一些要检查的事项:

  1. 如果您在同一台计算机(dev / staging)上运行服务和客户端,请在寻址服务时尝试使用127.0.0.1而不是localhost

  2. 仔细检查运行该服务的端口,确保没有冲突。

  3. 还要确保您正在通过客户端拨打电话中的正确端口。

答案 3 :(得分:0)

  

线程''(0xa5c)已退出   代码0(0x0)。

这是正常的,只适用于工作线程完成其工作。

  

无法建立联系,因为   目标机器主动拒绝它

绑定引用另一台计算机端口是错误的。