加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 快速HTTP调用ASP.Net

发布时间:2020-12-16 01:43:42 所属栏目:百科 来源:网络整理
导读:我正在使用以下代码向第三方发送HTTPWebRequest.响应需要2到22秒才能回来.第三方声称,一旦收到它,他们立即发回回复,并且他们的其他合作伙伴都没有报告任何延迟(但我不确定我是否相信他们 – 他们之前已经撒谎). HttpWebRequest request = (HttpWebRequest)We
我正在使用以下代码向第三方发送HTTPWebRequest.响应需要2到22秒才能回来.第三方声称,一旦收到它,他们立即发回回复,并且他们的其他合作伙伴都没有报告任何延迟(但我不确定我是否相信他们 – 他们之前已经撒谎).

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.example.com");
request.Timeout = 38000;
request.Method = "POST";
request.ContentType = "text/xml";
StreamWriter streamOut = new StreamWriter(request.GetRequestStream(),System.Text.Encoding.ASCII);
streamOut.Write(XMLToSend);     // XMLToSend is just a string that is maybe 1kb in size
streamOut.Close();
HttpWebResponse resp = null;
resp = (HttpWebResponse)request.GetResponse();      // This line takes between 2 and 22 seconds to return.
StreamReader responseReader = new StreamReader(resp.GetResponseStream(),Encoding.UTF8);
Response = responseReader.ReadToEnd();      // Response is merely a string to hold the response.

有什么理由说上面的代码只是……暂停?代码在一个非常可靠的托管服务提供商(Rackspace Intensive Segment)中运行,并且它所使用的机器不会被用于其他任何东西.我只是在测试一些我们即将投入生产的代码.所以,并不是机器被征税,并且鉴于它是Rackspace并且我们正在付船,我怀疑它是他们的网络.

我只是想确保我的代码尽可能快,并且我没有做任何愚蠢的事情,因为在几周内,这段代码将逐渐增加,每小时向第3部分运行20,000个请求.

解决方法

我会做一些事情:

>我会分析上面的代码,并获得一些明确的时间.>实现using语句以正确处理资源.>以异步方式编写代码,一旦崩溃,将会有大量的IO等待.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读