相关疑难解决方法(0)

HttpClient与HttpWebRequest相比,可提供更好的性能和安全性以及更少的连接

我做了一些简单的测试比较和我发现的一些信息

单个HttpClient可以由多个请求共享,如果共享并且请求到达同一目的地,则多个请求可以重用WebRequest需要为每个请求重新创建连接的连接.

我还查阅了一些关于使用HttpClient示例的其他方法的文档

以下文章总结了高速NTLM身份验证的连接共享

HttpWebRequest.UnsafeAuthenticatedConnectionSharing  

我尝试过的可能实现如下所示

一个)

private WebRequestHandler GetWebRequestHandler()
{
    CredentialCache credentialCache = new CredentialCache();
    credentialCache.Add(ResourceUriCanBeAnyUri, "NTLM", CredentialCache.DefaultNetworkCredentials);
    WebRequestHandler handler = new WebRequestHandler
    {
        UnsafeAuthenticatedConnectionSharing = true,
        Credentials = credentialCache
    };

    return handler;
}

using (HttpClient client = new HttpClient(GetWebRequestHandler(), false))
{
}
Run Code Online (Sandbox Code Playgroud)

B)

using (HttpClient client = new HttpClient)
{
}
Run Code Online (Sandbox Code Playgroud)

C)

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("some uri string")
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助,让我了解应该采取哪种方法,以实现最大性能,最小化连接并确保安全性不受影响.

c# httpclient httpwebrequest asp.net-web-api

25
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

httpclient ×1

httpwebrequest ×1