不支持 ServerCertificateCustomValidationCallback?

Yor*_*iev 6 c# blazor

我正在尝试从 Blazor WebASM 项目向 Web api 发出请求。托管 web api 的服务器是具有自签名证书的开发人员计算机。我已经配置了 CORS。我正在尝试使用以下代码绕过证书:

using( var httpClientHandler = new HttpClientHandler() )
{
    httpClientHandler.ServerCertificateCustomValidationCallback = ( message, cert, chain, errors ) => { return true; };
    using( var client = new HttpClient( httpClientHandler ) )
    {
        // Make your request...
    }
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我收到以下错误:

blazor.webassembly.js:1 System.PlatformNotSupportedException:不支持属性 ServerCertificateCustomValidationCallback。

  • 如何从 WebASM blazor 项目向自签名 Web api 服务器发出简单的 http 请求?

mez*_*tou 2

Blazor WebAssembly 依赖浏览器来发出 http 请求。在底层,它使用fetchapi ( MDN )。出于安全原因,Web 浏览器拒绝不受信任的证书。

解决方案是将自签名证书添加到浏览器或操作系统的证书存储中。您还可以使用特定标志启动浏览器以允许不受信任的证书(不推荐,因为它适用于所有域)。