WebRequests / Response Замедление после многих звонков - PullRequest
0 голосов
/ 24 января 2011

у меня есть этот метод:

        private void sendSms(object url)
    {
        var Url = url.ToString();
        webRequest = WebRequest.Create(Url);
        //            webRequest.BeginGetResponse(this.RespCallback, webRequest);
        webResponse = webRequest.GetResponse();
        // End the Asynchronous response.
        var stream = new StreamReader(webResponse.GetResponseStream());
        var response = stream.ReadToEnd().ToString();
        if (response.Contains(Config.ValidResponse))
        {
            var queryString = HttpUtility.ParseQueryString(webRequest.RequestUri.Query);
            OnMessageAccepted(this, new MessageAcceptedEventArgs(queryString["SN"], "n/a"));
        }
        else
        {
            OnMessageAccepted(this, new MessageAcceptedEventArgs("", "n/a"));
        }
    }

который я вызываю внутри цикла, подобного этому

While (true)
{
    Send(url);
    sleep(400);
}

Проблема в том, что после нескольких сотен вызовов, таких как 500 или 600, производительность вызовов становится все медленнее и медленнее. Если я перезапускаю приложение, оно запускается так быстро и хорошо, но затем начинает замедляться! мне было интересно, есть ли какой-нибудь буфер или кеш, который я должен время от времени очищать, чтобы он оставался быстрым?

ps: я разработал сервер, так что я уверен, что сервер не замедляет его, плюс я попробовал это с другой разновидностью серверной реализации, которую я разработал и разработал другие.

спасибо заранее.

1 Ответ

1 голос
/ 24 января 2011

Вам необходимо утилизировать поток ответов и ответов, используя блоки using.

...