Probleme mit HttpClient-Anmeldeinformationen lösen
Wenn Sie HttpClient verwenden, um auf einen Windows-Dienst zuzugreifen, der eine Authentifizierung erfordert, werden die Anmeldeinformationen möglicherweise nicht korrekt übergeben. Dies tritt häufig bei der ASP.NET MVC-Web-API und dem IIS-Identitätswechsel auf.
Der Unterschied in der Art und Weise, wie HttpClient und WebClient mit Anmeldeinformationen umgehen, ist entscheidend. Die UseDefaultCredentials
-Eigenschaft von HttpClient soll den Abruf von Anmeldeinformationen verarbeiten, kann jedoch unzuverlässig sein.
Für eine garantierte Übertragung von Anmeldeinformationen setzen Sie UseDefaultCredentials
in Ihrem true
:HttpClientHandler
explizit auf
<code class="language-csharp">var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });</code>
Dadurch wird HttpClient angewiesen, die Standardanmeldeinformationen des Betriebssystems zu verwenden. Dies spiegelt das Verhalten von WebClient wider und stellt sicher, dass der Benutzer, der die Webanwendungsanforderung initiiert, ordnungsgemäß vom Windows-Dienst authentifiziert wird.
Das obige ist der detaillierte Inhalt vonWarum übergibt mein HttpClient keine Anmeldeinformationen an meinen Windows-Dienst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!