WCF服务无法打开套接字?

时间:2011-11-25 09:07:33

标签: c# wcf iis

您好,

我在IIS中使用WAS(net.tcp)托管了WCF服务,并且连接到此服务的winform客户端。这适用于除一台计算机外的所有计算机。我可以看到该服务在尝试连接时启动,但客户端只是等待,从不在服务上触发登录方法?

要确保服务是否正在获取任何消息,我已实现了CustomMessageInspector(IDispatchMessageInspector,IParameterInspector)并在所有4种方法(AfterReceiveRequest,BeforeSendReply,AfterCall,BeforeCall)上设置断点。这些方法都没有被触发?当在另一台计算机上运行完全相同的设置时,我们可以看到它被正确触发。

请注意,WCF服务在每台计算机上运行。如果失败的计算机让其winform客户端连接到另一台计算机WCF服务(可以正常工作),那么一切都正常工作。

打开跟踪和消息日志时,我可以看到以下错误:

<TraceData>
<DataItem>
<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Warning">
<TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Channels.SocketConnectionAbort.aspx</TraceIdentifier>
<Description>SocketConnection aborted</Description>
<AppDomain>/LM/W3SVC/1/ROOT/test-1-129666827401375509</AppDomain>
<Source>System.ServiceModel.Channels.SocketConnection/10479095</Source>
</TraceRecord>
</DataItem>
</TraceData>

不是一个明确的例外。

我已经检查了所以正在运行的服务(NetTcpActivator,NetTcpPortSharing,WAS)。

如何了解有关此异常的更多信息

Edit1:该服务的地址如下所示:net.tcp://localhost/MyDev/MyClientService.svc/Regular如果我在WCF测试客户端中尝试此URL,它将抛出一个例外。如果我改为尝试http://localhost/MyDev/MyClientService.svc它可以生成所有服务方法,但每个方法旁边都会有一个红色感叹号?

正如我所说,服务和客户端在所有其他计算机上运行良好,这台故障计算机的唯一不同之处在于它是通过VPN但不应该是任何问题。失败的计算机能够通过VPN对我的主服务运行其winform客户端。

该服务确实与MS SQL数据库建立了连接,但它似乎能够在启动失败的服务时连接到它。如果WCF服务无法连接到SQL数据库,我们会有另一个例外。

0 个答案:

没有答案