偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多。C# HttpRequest 要500毫秒 而Chrome 只需要 39ms。

作为有责任感的 码农。这个 必须优化。。

后来 整理 各种方法做了优化

HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.KeepAlive = false;
request.ServicePoint.Expect100Continue = false; request.ServicePoint.UseNagleAlgorithm = false;
request.ServicePoint.ConnectionLimit = ;
request.AllowWriteStreamBuffering = false;
request.Proxy = null;
response.Close();
request.Abort();

打开 KeepAlive 属性,这个可以打开一个tcp连接并在 一段时内重用tcp连接,从而加快http 请求。(默认是打开的)(我在开启keepalive 时出现 服务器关闭连接的错误,在请求完成后 加response.Close();request.Abort(); 后 错误消失)
Expect100Continue  的作用

发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据
接收到Server返回的100-continue应答以后, 才把数据POST给Server
所以关闭它可以加快http 请求。
还有 ConnectionLimit 默认是2 ,就是说 系统 只能 并发 2个http 请求,所以 这个属性可以以适当增大。

Proxy 属性在 .Net 4.0 时应该在 config 文件中增加:

<system.net>
<defaultProxy
enabled="false"
useDefaultCredentials="false" >
<proxy/>
<bypasslist/>
<module/>
</defaultProxy>
</system.net>
</configuration>

其他版本.NET 可以设置为null。
原因:NET4.0或3.5中的默认代理是开启的,而我并没有设置!故只有等待超时后才会绕过代理,这就阻塞了.其他的可以自己百度。到这了 http 的响应速度由原来 的500ms 减小的60ms,但还是 比不上Chrome。希望在以后有更好的办法加快。

转载:https://www.cnblogs.com/hnsongbiao/p/9815808.html

最新文章

  1. 从零开始学Python08作业源码:开发简单的FTP(仅供参考)
  2. spark使用02
  3. Java的性能优化
  4. decimal(a,b)
  5. SQL Server 2005 镜像构建手册
  6. lintcode:买卖股票的最佳时机 I
  7. 51nod1406 与查询
  8. Axure快捷键大全
  9. android的edittext输入长度
  10. 使用python写appium用例
  11. Unity最优化摘要
  12. 【NOIP2015提高组】运输计划
  13. js-cookie和session
  14. Django如何安装指定版本
  15. DevExpress Add ASPxGridView template columns at runtime
  16. centos6.5(64位)离线安装scalr
  17. css之图像替换
  18. struts中action名称反复导致的神秘事件
  19. PostMessage与SendMessage的区别
  20. 用hexo在github上搭建自己的静态博客

热门文章

  1. [原创]python+beautifulsoup爬取整个网站的仓库列表与仓库详情
  2. 201871020225-牟星源《面向对象程序设计(java)》第十三周学习总结
  3. 多线程(三)多线程同步_基本介绍及mutex互斥体
  4. FastDfs的搭建
  5. OpenCV随机颜色,用于画图调试
  6. Window包管理工具scoop
  7. 【使用篇二】SpringBoot文件上传(5)
  8. 原生/CM系列网络叹号问题
  9. 2条最佳实践App疯狂增长逻辑
  10. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组