【问题标题】:Debugging a long running Webservice Call调试长时间运行的 Web 服务调用
【发布时间】:2018-12-07 18:06:36
【问题描述】:

我正在使用 C# 连接到 Web 服务以获取数据。但是,我目前在让代码在远程服务器上运行时遇到问题;当我说问题时,我的意思是它正在运行,但是客户端和服务器之间的连接速度非常慢(这不是我的错 - 客户端通过 web 服务提供了一个缓慢的结果集,并且他们已经按顺序关闭了所有超时这样做。)

 if ((endpointConfiguration == EndpointConfiguration.SFFService))
            {
                System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding();
                result.MaxBufferSize = int.MaxValue;
                result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max;
                result.MaxReceivedMessageSize = int.MaxValue;
                result.AllowCookies = true;
                result.OpenTimeout = TimeSpan.MaxValue;
                result.CloseTimeout = TimeSpan.MaxValue;
                result.SendTimeout = TimeSpan.MaxValue;
                return result;
            }

所以。不是一个好的开始。打开关闭并发送所有设置为最大值。

无论如何,我已经匹配了他们的长时间超时,并且一些较小的 Web 服务请求在服务器上完成并成功。然而,最大、最慢的只是无限期挂起,可能是因为我告诉它永远不会超时。

但是,我很确定还有其他问题发生,因为我把它放在了一夜之间,它就坐在那里。在本地,在我的开发机器上,虽然速度很慢,但它可以工作。

我的问题是,有没有人知道额外的事情来检查可能在这里发挥作用的环境?我想也许是防火墙,但鉴于小请求成功(并连接),调试慢速请求非常困难,因为我不知道要等多长时间才能接受程序不会做任何事情。

FWIW 我尝试通过浏览器进行连接,但浏览器只是坐在那里等待请求完成,而它永远不会完成(很可能是由于服务器上关闭了超时)。如果有任何方法可以查看还有多少请求需要完成(例如下载百分比),这可能会帮助我了解代码是否正在执行除等待之外的任何操作。

【问题讨论】:

  • 您的客户端应用程序和浏览器都在代理后面吗?如果是这样,代理也可能超时 - 尝试绕过代理?
  • @Allumearz 本地没有。远程 - 我将如何检查?

标签: c# .net web-services debugging


【解决方案1】:

即使您附加到远程进程,也无法获得远程调用的进度。尝试在服务器机器上使用本地 Visual Studio(最好在非生产 VM 上)并附加到本地进程,而不是使用远程调试器。

我不确定到底是什么问题,但我在调试慢速应用程序时采取的第一步是测试本地连接(本地客户端和本地服务器)以消除等式中的网络。如果效果很好,请尝试将服务器托管在不同的地方(可能是公共云?)并在那里重试,如果效果很好,那么肯定有东西在途中或在该服务器上。

如果您有兴趣跟踪 Web 服务调用需要多长时间,您可以通过将开始时间放入 Global.asax 中 BeginRequest/EndRequest 上的 HttpContext.Current.Items 或 OperationContext.Current.Items 或 MessageInspector 中来跟踪它如果您使用 WCF(您可以通过将日期时间返回到 Before 方法并从 After 方法中的 corelationState 参数中读取来发送两个方法之间的日期时间)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多