0

我有这个方法:

        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:我开发了服务器,所以我确定服务器不会减慢它的速度,而且我尝试了其他人开发和开发的不同类型的服务器实现。

提前致谢。

4

1 回答 1

1

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

于 2011-01-24T14:27:41.523 回答