Ich habe einige einfachen Test für den Vergleich und ein paar Informationen gemacht, die ich herausgefunden wurdeHttpclient vs HttpWebRequest für eine bessere Leistung und Sicherheit und weniger Verbindungen
Einzelhttpclient konnte durch mehrere Anfrage geteilt werden, wenn geteilt und die Anforderungen sind zu das gleiche Ziel, mehrere Anfrage könnte die Verbindungen wiederverwenden WebRequest muss die Verbindung für jede Anfrage neu erstellen.
Ich sah auch eine Dokumentation auf andere Weise nach oben Httpclient-Beispiel
Der folgende Artikel fasst die High-Speed-NTLM-authentifizierte Verbindung teilen
HttpWebRequest.UnsafeAuthenticatedConnectionSharing
Mögliche Implementierungen, die ich ausprobiert verwenden sind unten gezeigt
A)
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))
{
}
B)
using (HttpClient client = new HttpClient)
{
}
C)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("some uri string")
ich Hilfe bei der Herstellung von mir, welcher Ansatz verstehen würde schätzen sollte ich nehmen, um maximale Leistung und minimiert Verbindungen zu erreichen und sicherzustellen, dass Sicherheit nicht betroffen.
Httpclient ist das neue cool Kind in der Stadt, und es ist angeblich die beste von allen, async/Aufgaben unterstützt, und ist viel mehr tragbar als andere (es gibt auch WebClient). Es erfordert jedoch .NET 4.5+. Davon abgesehen, denke ich nicht, dass Sie bei richtiger Anwendung große Unterschiede in Bezug auf die rohe Leistung sehen sollten. –
Ich benutze HttpClient einen Blick auf diesen Beitrag [Sie verwenden HTTPCLIENT falsch und es ist Ihre Software DESTABILISIEREN] (http://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/) –
auf jeden Fall gehen Mit HttpClient, abgesehen von der Tatsache, dass es Verbindungspooling unterstützt, async/erwarten out of the Box, bietet es mehr Flexibilität über sie Handler und ist auch einfacher zu Komponententests mit HttpClient schreiben. – Duy