WebRequests / Responses在多次调用后减速

时间:2011-01-24 14:25:06

标签: c# webrequest webresponse

我有这个方法:

        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 个答案:

答案 0 :(得分:1)

您需要使用using块来处置响应和响应流。