1

我无法让 Windows 应用商店应用程序调用 WCF 服务。

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

mscorlib.dll 中出现“System.ServiceModel.CommunicationException”类型的异常,但未在用户代码中处理

附加信息:套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:09:59.9968452”。

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

我努力了:

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

任何帮助将不胜感激。WCF 新手,无法找到针对 Windows 应用商店/netTCP/双工目标方案的帮助。

4

1 回答 1

0

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

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

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

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

于 2014-10-11T23:24:55.933 回答