【问题标题】:Getting an occasional error calling WebServices调用 WebServices 时偶尔出现错误
【发布时间】:2010-04-23 17:14:19
【问题描述】:

我有一个 ClickOnce 应用程序,它调用服务器上的 WebServices(标准 ASMX 样式,而不是 WCF)。有时,用户会收到此错误:

System.Reflection.TargetInvocationException: 操作过程中发生异常,导致结果无效。 检查 InnerException 以获取异常详细信息。

System.Net.WebException:无法连接到远程服务器 System.Net.Sockets.SocketException:已在 已连接的套接字

这种情况很少发生(每天有 10 到 20 次调用,近 100 万次调用),但仍然足以让用户偶尔抱怨一次。

服务器是带有 IIS 的标准 Windows 2003 R2。

这可能是什么问题?

【问题讨论】:

  • 没有看到代码 ot config 很难确定它,但它似乎正在执行一个 http 调用在一个已经在调用的通道上。您还可以在发生此错误时实现重试逻辑,以使用户不受其影响。您还可以尝试在 Web 服务调用中将 KeepAlive 属性设置为 false。
  • 内部异常是什么?可能在序列化/反序列化过程中 dll 版本存在冲突?

标签: c# .net-2.0 web-services


【解决方案1】:

您可能想检查您是否在调用周围实施了 Using 语句,客户端只处理六个线程,这可能导致 Web 服务拒绝调用。

using (var proxy = new ApplicationWebService.ApplicationWebService())
{
    proxy.Method();
}

如果这不起作用,您可能需要考虑通过 aync 调用 Web 服务。

干杯

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 2012-06-08
    • 2014-03-09
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    相关资源
    最近更新 更多