在 HttpClientFactory 出生之前,由于 HttpClient 臭名昭著的“dispose之后4分钟TCP连接才会被关闭”问题(详情),只能使用单例或静态的 HttpClient ,比如 private static readonly HttpClient _httpClient = new HttpClient() { BaseAddress = new Uri("www.cnblogs.com") }; 但这会带来一个副作用,如果 dns 解析更新了,HttpClie…
.net core的跨平台有了Linux,不能没有docker……网上的系列文章一大推,特别是docker还有了中文官网:https://www.docker-cn.com/ .上面说的很清楚了,这里只是操作记录.操作的环境是:Ubuntu 16.04.docker. 一.参照官网安装docker,网址:https://docs.docker-cn.com/engine/installation/linux/docker-ce/ubuntu/ .sudo apt-get remove docke…
在上一篇文章中在ubuntu16.04中初次体验.net core 2.0 简单介绍了一下ubuntu中运行.net core 2.0.配置nginx反向代理以及安装supervisor守护进程……本来安装supervisor(对他不是很了解,在其他的文章中看到这么用)目的是让我们应用程序开机启动,但是现在win10 Linux子系统用不了systemctl这个命令:https://github.com/Microsoft/WSL/issues/1990 (不知道理解的对不对),之后看到微软官方…
Microsoft 在.Net Framework 4.5中引入了HttpClient,并且是在.NET服务器端代码中使用Web API的最常用方法.但它有一些严重的问题,如释放HttpClient对象不立即关闭套接字,太多实例影响性能和单个的HttpClient或共享HttpClient实例不尊重DNS生存时间(TTL)设置.当并没有大批量或者并发调用时,选择 HttpClient 还行: private static readonly HttpClient HttpClient = new…
.net core运行在Linux中的例子.文章已经很多了,看了一些之后也想体验一下,顺便记录一下…… 环境:win10 1709.它内置的Linux子系统(这里安装的是Ubuntu 16.04) 一.安装Ubuntu 16.04 1.启用win10中内置的Linux 到了win10 1709,内置的Linux已经不是Beta版了,"控制面板\程序\程序和功能",点击“启用或关闭Windows功能”,启用“适用于Linux的Windows子系统” 2.安装Linux 在cmd中输入ba…
在 .NET Framework 与 .NET Core 中 HttpClient 有个臭名昭著的问题,HttpClient 实现了 IDispose 接口,但当你 Dispose 它时,它不会立即关闭所使用的 tcp 连接,而是将 tcp 连接置为 TIME_WAIT 状态,240秒(4分钟)后才真正关闭连接.对于高并发的场景,比如每秒 1000 个请求,每个请求都用到 HttpClient ,4分钟内会堆积24万个 tcp 连接,这样的连接爆棚会拖垮服务器.为了避开这个坑,通常采用的变通方法…
前言 与第三方对接最麻烦的是语言不同,因语言不同内置实现相关标准加密算法还是略微有所差异,对接单点登录场景再寻常不过,由于时间紧迫且对接方使用Java,所以留给我对接开发和联调的时间本就不多,于是乎,在熬夜发版后,继而开始提前研究对接方所提供的加密方式大致处理 方案一(C#实现) 数据对接加密算法采用RSA SHA1 1024位.同时呢,在Java中对于1024或其他位数,对密文有长度限制,所以利用了分段加密,密文长度为117,解密长度为128,如此通用处理方式,网上肯定是可以搜索到的,截取加密…
前言 在我们开发中可能需要设计一次性应用程序,这些实用程序可以利用接近原始源代码的优势,但可以在与主Web应用程序完全独立的安全性上下文中启动.具体在 [管理过程](https://12factor.net/admin-processes)中也已经列出了原因. 创建控制台应用 打开命令提示符,创建创建一个ConsoleDemo的文件夹,键入如下片段 dotnet new console dotnet run dotnet run Hello World! 或者我们还可以通过 dotnet bui…
HttpClientFactory封装,如有错误请指出,谢谢! using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; namespace Hx.HttpClientFactory { public class HxHttpClient:IHxHttpC…
.NET Core 2.0预览版及.NET Standard 2.0 Preview 这个月也就要发布了. 具体相关信息可以查看之前的文章.NET Core 2.0及.NET Standard 2.0. 今天来实际体验.NET Core 2.0,正式版发布还需要一段时间. .NET Core 2.0 本文使用的是 nightly .NET Core 2.0 runtime 和 SDK. 正式版出来以后,流程上会有所简化. 安装 .NET Core SDK 2.0 获取最新 nightly .NE…