首页 > 后端开发 > C++ > 为什么我的 HttpClient 不将凭据传递给我的 Windows 服务?

为什么我的 HttpClient 不将凭据传递给我的 Windows 服务?

Mary-Kate Olsen
发布: 2025-01-23 14:22:16
原创
873 人浏览过

Why Doesn't My HttpClient Pass Credentials to My Windows Service?

解决 HttpClient 凭据问题

使用 HttpClient 访问需要身份验证的 Windows 服务时,凭据可能无法正确传递。这种情况经常发生在 ASP.NET MVC Web API 和 IIS 模拟中。

HttpClient 和 WebClient 处理凭据方式的差异是关键。 HttpClient 的 UseDefaultCredentials 属性旨在处理凭据检索,但它可能不可靠。

为了保证凭证传输,请在 UseDefaultCredentials:true 中显式将 HttpClientHandler 设置为

<code class="language-csharp">var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });</code>
登录后复制

这告诉 HttpClient 使用操作系统的默认凭据。这反映了 WebClient 的行为,确保发起 Web 应用程序请求的用户得到 Windows 服务的正确身份验证。

以上是为什么我的 HttpClient 不将凭据传递给我的 Windows 服务?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板