码迷,mamicode.com
首页 > Web开发 > 详细

静态化HttpClient

时间:2016-05-31 17:22:17      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

实现方法:

public class HttpClientHelper
    {
        private static HttpClient _client;

        public static HttpClient GetClient()
        {
            try
            {
                if (_client == null)
                {
                    _client = new HttpClient();
                    _client.DefaultRequestHeaders.Connection.Add("keep-alive");
                    return _client;
                }
                return _client;
            }
            catch (Exception)
            {
                return new HttpClient();
                //throw;
            }
        }
    }

调用:

var http = HttpClientHelper.GetClient();

替换掉:

using (var http = new HttpClient())

原因:

大量请求发出会占用服务器端口,当服务器端口被耗尽一般情况下代码会报错,提示:通常每个套接字地址(协议/网络地址/端口)只允许使用一次

其他:

增大服务器端口数量方法:

修改注册表:

 

 端口利用查询方法:

cmd  netstat -an

CloseWait  标识的端口标识在占用中,如果有大量这种标识的端口,表示有大量请求堆积(另外一种方法:可以在iis的工作进程查看)。

工作进程:技术分享

进入工作进程,如果有大量请求堆积,会显示出来请求的信息(没有最好)

 

静态化HttpClient

标签:

原文地址:http://www.cnblogs.com/fuyujian/p/5546561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!