的CommunicationException;商店应用 - > .NET 4.5 WCF双工TCP服务;即时超时

时间:2014-03-10 13:20:28

标签: c# wcf windows-store-apps nettcpbinding wcf-callbacks

我无法获得Windows应用商店应用以调用WCF服务。

该服务是使用netTCP绑定的双工服务。客户端(Windows 8.1 Store应用程序)第一次使用该服务时,会抛出异常:

  

“System.ServiceModel.CommunicationException”类型的例外   发生在mscorlib.dll中但未在用户代码中处理

     

其他信息:套接字连接已中止。这可以   由处理邮件或接收超时的错误引起   被远程主机或底层网络资源超出   问题。本地套接字超时为'00:09:59.9968452'。

此超时几乎等于我的最大值,10分钟。但是,异常会立即发生,并且服务函数中的断点永远不会被触发。这两者似乎在某种程度上进行了讨论,因为更改安全协议或端点地址会导致其他异常(安全性和连接如您所期望的那样)。我在服务中放了一个断点,我试图调用的函数永远不会被命中。

我试过了:

  • 确保服务和客户端NetTcpBinding配置之间的功能等效性
  • 提高超时,尺寸(每个1-10分钟,最大尺寸10000000)
  • 确保所有传递的对象类型都是具有默认构造函数的DataContracts
  • 祈祷;考虑燔祭

非常感谢任何帮助。 WCF新手,无法找到Windows Store / netTCP / Duplex目标方案的帮助。

1 个答案:

答案 0 :(得分:0)

如果您的Windows应用商店客户端和WCF服务位于同一台计算机上,并且您没有从Visual Studio内部运行Windows应用商店客户端,则需要启用环回通信。看看这篇文章:

http://msdn.microsoft.com/en-us/library/windows/apps/dn640582.aspx

在最底层,它讨论了命令行实用程序: checknetisolation

另外,尝试尽可能简单地调用方法,不返回任何参数。我知道你说你检查了所有'DataContract'属性。但事情可能会变得棘手,例如,如果您使用多态,并且基类没有派生的'KnownType'。