首页 > Web开发 > 详细

静态化HttpClient

时间:2016-05-31 17:21:42      阅读:171      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!