WCF出站请求 - TimeoutException不处理?

时间:2013-07-10 18:25:25

标签: c# wcf stream httpwebrequest httpwebresponse

我们遇到了很多与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服务的上下文中?

Exception是一个TimeoutException,因为请求花了一分多钟。我很清楚我可以更改超时,但我不是在寻找修复。我想知道在发生此异常时我是否正在连接。

1 个答案:

答案 0 :(得分:0)

不,当对象被处置时,您的连接将被关闭。这里没有必要调用Close()。