1

我对开发 WCF 服务有点陌生,并且在从 Android 应用程序调用 WCF Web 服务时遇到了两个问题。

  1. 间歇性连接被拒绝错误 (HttpHostConnectException) - 如果我在几分钟不活动后尝试连接到 Web 服务,就会发生这种情况。

  2. 对等连接重置 - 当一种特定的 Web 服务方法必须处理大量记录时,会发生这种情况。同样的方法适用于较小的结果集。我怀疑这可能与 ASP.NET 进程工作者有关,我一直在 IIS 中尝试不同的超时间隔,但问题仍然存在。

非常感谢您对上述内容的任何帮助。

设置:

  • IIS7.5 在具有单个进程工作者的 Windows Server 8 机器上运行
  • 启用的 IIS 身份验证模式:匿名、Windows
  • Android v 2.3.3 引用 JCIFS 库进行 NTLM 身份验证
  • 使用 HTTP POST 调用 RESTful WCF Web 服务
  • WCF 会话状态模式="Off",CookieLess = "UseDeviceProfile",regenerateExpiredSessionId="true"

谢谢,

京东

4

2 回答 2

0

我猜您需要担心客户端超时,因为这些不是 WCF 错误(或者至少不是我以前见过的错误)。我对 Android 不太擅长,而且像往常一样没有太多需要帮助的人,但我会从连接和接收超时开始,看看这是否能改善情况。

于 2013-02-26T18:52:16.087 回答
0

如果有人有兴趣知道解决方案:通过进行以下两项更改,我能够消除间歇性连接被拒绝错误:

  • 禁用匿名身份验证并设置 HTTPClient 以使用 NTLM 身份验证进行连接
  • 我没有为每个新的 HTTPPost 请求实例化一个新的 HTTPClient,而是在应用程序的生命周期内为所有请求重用一个实例,并在应用程序本身关闭时关闭连接。
于 2013-03-01T21:12:05.780 回答