【问题标题】:WCF Outbound Requests - TimeoutException Not Disposing?WCF 出站请求 - TimeoutException 未处理?
【发布时间】:2013-07-10 18:25:24
【问题描述】:

我们的 WCF 服务存在很多问题,该服务会发出大量出站请求。我们有挂起的 IIS 请求,这些请求只会不断增加,直到服务器最终关闭。我们已经进行了堆栈转储,这使我们相信当我们在 using 语句(例如以下代码位)中调用 HttpWebResponse.GetResponse() 时会发生这种情况。

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                str = reader.ReadToEnd();  //Not Being Hot When Exception Thrown

                reader.Close(); //Not Being Hot When Exception Thrown
                response.Close();  //Not Being Hit When Exception Thrown
            }
        }

我看到了几篇文章,包括'"Do Not Usre 'Using for WCF Clients'

虽然我没有创建 WCF 客户端,但我想知道这是否正在发生,因为它是在我的 WCF 服务的上下文中?

异常是 TimeoutException,因为请求花费的时间超过一分钟。我很清楚我可以更改超时,但我不是在寻找那个修复。我想知道当这个异常发生时我是否正在失去连接。

【问题讨论】:

    标签: c# wcf stream httpwebrequest httpwebresponse


    【解决方案1】:

    不,您的连接将在对象被释放时关闭。此处无需调用 Close()。

    【讨论】:

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