首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET内核中的ServicePointManager

ASP.NET内核中的ServicePointManager
EN

Stack Overflow用户
提问于 2016-09-19 00:52:38
回答 3查看 15.3K关注 0票数 19

我正在尝试将现有的类库代码转换为.NET核心类库。在static构造函数代码中,我有以下内容:

代码语言:javascript
复制
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = false;

我做了一些搜索,ServicePointManager在.NET核心中不再可用,现在应该使用WinHttpHandler (ServicePointManager.DefaultConnectionLimit in .net core?)。

我的问题是,ServicePointManager到底是什么,正在设置的那些属性是什么?

WinHttpHandler不是static as ServicePointManager,所以我必须创建一个实例来设置这些属性?我是否需要更改所有的http调用才能使用该实例?

EN

回答 3

Stack Overflow用户

发布于 2016-09-19 21:14:09

WinHttpHandler继承自HttpMessageHandler,因此您可以在构造HttpClient时将其作为参数传递,如下所示:

代码语言:javascript
复制
WinHttpHandler httpHandler = new WinHttpHandler();
httpHandler.SslProtocols = SslProtocols.Tls12;

HttpClient client = new HttpClient(httpHandler);

希望这能有所帮助!

票数 12
EN

Stack Overflow用户

发布于 2018-03-26 18:27:28

从v2.0开始,.NET核心中提供了ServicePointManager

程序集System.Net.ServicePoint、Version=4.0.0.0、Culture=neutral、PublicKeyToken=cc7b13ffcd2ddd51

也就是说,我使用以下命令实现了我的HTTP客户端调用:

代码语言:javascript
复制
System.Net.Http.HttpClientHandler handler;  // use DI etc to create 
if (options.SkipSsl)  // config driven
    handler.ServerCertificateCustomValidationCallback = (req, cer, ch, err) => true;

请参阅https://stackoverflow.com/a/44540071/4292717

票数 7
EN

Stack Overflow用户

发布于 2018-08-03 18:15:07

只需添加以下名称空间:

代码语言:javascript
复制
using System.Net.Http;

using System.Net.Http.Headers;

然后更改您的行,如下所示:

代码语言:javascript
复制
WinHttpHandler httpHandler = new 
WinHttpHandler();

httpHandler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls;

而不是

代码语言:javascript
复制
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | 
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

编码快乐!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39560249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档