У нас было много проблем с WCF-сервисом, который у нас есть, что делает большой объем исходящих запросов. У нас есть висящие запросы IIS, которые просто продолжают наращивать, пока сервер не опустится. Мы взяли стек, который заставляет нас думать, что это происходит, когда мы вызываем HttpWebResponse.GetResponse() в операторе using, таком как следующий бит кода.WCF Исходящие запросы - TimeoutException Not Disposing?
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, потому что запрос занимает больше минуты. Я хорошо знаю, что могу изменить тайм-аут, но я не ищу этого исправления. Я хочу знать, есть ли у меня кровоточащие соединения, когда происходит это исключение.