当前位置: 首页 > news >正文

阿里云做网站id怎么自动导入wordpress

阿里云做网站,id怎么自动导入wordpress,那个做我女朋友的网站,长沙百度首页优化排名一、前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的分析后对HttpClient有了一定的了解。前几日也有园友写了一篇关于HttpClient的分析文章, 于是我想深入探索一下在.NET下使用HTTP请求的正确姿势。姿势不是越多越好, 而在于精不精。如果不深入了解… 一、前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的分析后对HttpClient有了一定的了解。前几日也有园友写了一篇关于HttpClient的分析文章, 于是我想深入探索一下在.NET下使用HTTP请求的正确姿势。姿势不是越多越好, 而在于精不精。如果不深入了解, 小朋友可能会这样想: 啊, 这个姿势不High, 那我换一个吧, 殊不知那一个姿势也有问题啊, 亲。 中文版: https://oschina.net/news/77036/httpclient 英文版: https://www.infoq.com/news/2016/09/HttpClient 张大大版: http://www.cnblogs.com/lori/p/7692152.html   二、准备好床和各种姿势 1. 研究姿势必然是要先准备好支撑点, 作为一个传统的人, 还是比较喜欢床。 .NET Framework, .NET CORE Windows, .NET CORE Linux, .NET CORE Mac 2. 姿势有以下几种, 如果小朋友们有各特别的可以告诉我呀, 我很乐于尝试的。 HttpClient, WebClient, HttpWebRequest   三、让我们大干一场吧 Windows下统计端口使用的命令: netstat -ano | find {port} /c  Linux 下统计端口使用的命令:  netstat -nat|grep -i {port}|wc -l   HttpWebRequest 测试代码如下 class Program{        static void Main(string[] args){Parallel.For(0, 10, (i) {                while (true){                    var webRequest (HttpWebRequest)WebRequest.CreateHttp(http://);                    var response webRequest.GetResponse();response.Dispose();Console.WriteLine($Process: {i}.);Thread.Sleep(5);}});Console.Read();}} .NET Framework   .NET Core Windows  .NET Core Linux.NET Core MacHttpWebRequest 2 迅速攀升到1000 性能很差, 攀升到70并稳定   WebClient因为有IDisposable接口, 于是我做两份测试 static void Main(string[] args){Parallel.For(0, 10, (i) {                while (true){                    using (WebClient client new WebClient()){client.DownloadString(http://);Console.WriteLine($Process: {i}.);}Thread.Sleep(5);}});Console.Read();} .NET Framework   .NET Core Windows  .NET Core Linux.NET Core MacWebClient 2 迅速攀升到1000 性能较差, 攀升到400稳定 static void Main(string[] args){Parallel.For(0, 10, (i) {WebClient client new WebClient();                while (true){client.DownloadString(http://);Console.WriteLine($Process: {i}.);Thread.Sleep(5);}});Console.Read();}  .NET Framework   .NET Core Windows  .NET Core Linux  .NET Core Mac WebClient  2  迅速攀升到1000  迅速攀升到1000   HttpClient有IDisposable接口, 也做两份测试 static void Main(string[] args){Parallel.For(0, 10, (i) {HttpClient client new HttpClient();                while (true){                    var html client.GetStringAsync(http://).Result;Console.WriteLine($Process: {i}.);Thread.Sleep(5);}});Console.Read();} .NET Framework.NET Core Windows.NET Core Linux.NET Core MacHttpClient101010   static void Main(string[] args){Parallel.For(0, 10, (i) {              while (true){                    using (HttpClient client new HttpClient()){                        var html client.GetStringAsync(http://).Result;Console.WriteLine($Process: {i}.);}Thread.Sleep(5);}});Console.Read();} .NET Framework.NET Core Windows.NET Core Linux.NET Core MacHttpClient迅速攀升到1000迅速攀升到1000性能较差, 攀升到200    结论 .NET Framework.NET Core Windows.NET Core Linux.NET Core MacHttpWebRequestOKAbnormalAbnormal WebClientOKAbnormalAbnormal HttpClient(每个线程一个对象)OK OKOK HttpClient(using)AbnormalAbnormalAbnormal    有意思的细节与疑问 1. WebClient和HttpWebRequest为什么在10个线程下端口数为2并且都为2 2. Linux下并行性能明显变差   四、追根溯源 下载.net45源码和corefx源码 http://referencesource.microsoft.com/ 右上角Download https://github.com/dotnet/corefx   1. 分析.NET Core下WebClient的代码, 发现它是使用WebRequest即HttpWebRequest来请求数据   2. 分析.NET Core下HttpWebRequest的代码找到SendRequest方法 熟悉吗?!!原来.NET Core一切的根源都出在HttpClient身上...   3. 顺着HttpClient代码我们可以发现, 微软为Windows, Unix各自实现了WinHttpHandler和CurlHandler, 猜测Uniux下使用的是Curl. 最终确实能查到Windows下是DLLImport了winhttp.dll, 但Unix系统是DLLImport的 System.Net.Http.Native, 这是个什么我暂时不清楚, 也不清楚它跟curl的关系, 也许是一个中转调用。   4. 我们再回过头来看.NET Framework下为什么HttpWebRequest和WebClient是正常的, WebClient依然是使用的HttpWebRequest, 因此推断.NET Framework的HttpWebRequest的实现与.NET Core是不一致的。简单的查找代码, 果然每一个Http请求是由ServicePointManager管理的ServicePoint来实现的, 并且ServicePoint是使用.NET下Socket来实现的, 一切就明了了。现在对刚才说的 “WebClient和HttpWebRequest为什么在10个线程下端口数为2并且都为2”有感觉了吧我们把刚才的测试代码再加上一行 static void Main(string[] args){ServicePointManager.DefaultConnectionLimit 10;Parallel.For(0, 10, (i) {                while (true){                    var webRequest (HttpWebRequest)WebRequest.CreateHttp(http://www.ooodata.com:5000);                    var response webRequest.GetResponse();response.Dispose();Console.WriteLine($Process: {i}.);Thread.Sleep(5);}});Console.Read();} .NET Framework.NET Core Windows.NET core Linux.NET Core MacHttpWebRequest10  迅速攀升到1000性能很差, 攀升到70并稳定     大家看.NET Core下虽然可以设置 ServicePointManager.DefaultConnectionLimit 10; 但是依然没什么卵用...  原因也很明显, HttpWebRequest根本没有使用ServicePointManager做管理。在我查了源码后虽然.NET Core实现了ServicePointManager和ServicePoint, 不过已经迁到另外一个项目下面, 也未发现有什么作用。所以大家千万要注意不要以为在.NET Core可以设置ServicePointManager.DefaultConnectionLimit这个值了, 就以为.NET Framework下的效果会一致( 其它地方同理)   5. HttpClient在.NET Framework下的代码我没有找到, ILSpy也查看不了, 但猜想应该是和.NET Core下一致的, 所以才会有一样的表象, 有大神知道的可以告诉我一下。   五、好累啊, 终于交差了, 就是不知道满足不满足 1. 在.NET Framework下尽量使用HttpWebRequest或者WebClient, 并且根据你自己的多线程情况设置 ServicePointManager.DefaultConnectionLimit的值, 以及ThreadPool.SetMinThreads(200, 200)的值 2. 在.NET Framework下如果一定要使用HttpClient, 一个线程使用一个HttpClient对象, 这样不会出现端口被耗尽的情况 3. 在.NET Core 2.0下只有HttpClient一条路选, 一个线程使用一个HttpClient对象, 当然也许我们可以参照.NET Framework下的代码重新实现一个ServicePointManager管理的HttpWebRequest, 这是后话了   六、抽一根烟吧 1. 大胆猜想一下, 微软应该是赶进度才偷懒使用HttpClient来实现HttpWebRequest导致的吧。 2. Linux并行性能好像差很多, 原因不明, 请听下回分解 3. 这也就是开源的魅力所在了吧! 我们可以顺藤摸瓜, 查明真相。让我们一起为.NET Core的开源事业奉献自己的一份力吧(其实我只是不想丢饭碗好吧:::) 4. 如果有说错请指正, 不接受漫骂 5. 欢迎各路大神和作品加入 https://github.com/dotnetcore (中国 .net core 开源小分队) 6. 月收入低于3万的也是程序员!!!! 原文地址http://www.cnblogs.com/modestmt/p/7724821.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://wiki.neutronadmin.com/news/383151/

相关文章:

  • 课程网站建设的目的意义佛山建站平台
  • 绵阳的网站制作公司哪家好鹏达建设集团有限公司网站
  • 网站域名查询ip地址前端开发转行做什么好
  • 免费申请网站com域名wordpress显示时间插件下载
  • 国外做机器人的网站做外贸的阿里巴巴网站是哪个
  • 网站建设jnlongjiwordpress 调整字体
  • 可以做反链的网站廊坊网站制作网站
  • 广州网站建设骏域天津电力建设公司网站
  • 电商网站开发要求网站登陆怎么做
  • 做外汇哪个网站看外国消息成全视频在线观看免费高清版
  • 长春网站推广网诚传媒加强网站微信信息编辑队伍建设
  • 平顶山建设网站江苏省建设工程一站式申报网站
  • 免费的建手机网站如何做平台网站
  • 数据做图网站手机图片网站模板
  • 百度网站建设的一般要素网站图片如何做水印
  • 石家庄信息门户网站定制wordpress 刷浏览量
  • 想做个网站 在哪买域名和空间兼职做任务的网站
  • 好的flash网站网站功能板块
  • 怎么免费做网站视频教学网站配色原则
  • 网站建设备案审核要多久江苏建设教育协会网站
  • 深圳便宜建网站怎么登录wordpress
  • 西南城乡建设部网站首页画册封面设计
  • 张家港企业网站建设网站建设算入会计分录
  • 网站设计的论文wordpress 后台 404
  • 哪个网站做的系统好用吗如何设计购物网站
  • 网站设计风格介绍app域名在哪里注册
  • 用html做网站搜索框中国人看的免费高清视频在线观看
  • 建设网站需要申请哔哩哔哩网页入口
  • 建设项目环保验收平台网站软件开发管理软件
  • 哪里医院做无痛人流便宜 咨询网站在线wordpress页面如何设置新窗口