我们的 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
}
}
我遇到了几篇文章,包括“不要使用‘用于 WCF 客户端’
虽然我没有创建 WCF 客户端,但我想知道这是否正在发生,因为它在我的 WCF 服务的上下文中?
异常是 TimeoutException,因为请求花费了超过一分钟。我很清楚我可以更改超时,但我不是在寻找那个修复。我想知道发生此异常时我是否正在流血连接。