小编use*_*244的帖子

忽略 ASP.NET Core 3.1 中的 WCF 证书错误

我有一个这样的解决方案:

-MySolution
|--MyWCFWrapper
|--MyaspnetcoreWebApp
|--ConsoleTestApp
Run Code Online (Sandbox Code Playgroud)

MyWCFWrapper是一个 .NET 标准库,使用使用 Visual Studio 导入向导添加为 WCF 引用的 WCF 服务。

MyaspnetcoreWebApp应用程序提供控制器供前端使用。在这个控制器中,我正在实例化并调用MyWCFWrapper库。

ConsoleTestApp是一个控制台应用程序,也可以调用MyWCFWrapper库进行测试。

我收到错误:

System.ServiceModel.Security.SecurityNegotiationException:“无法与权限“exampleabc.com”建立 SSL/TLS 安全通道的信任关系

当我进行 WCF 服务调用时。

此错误的原因是我位于 exampleablc.com 的 WCF 服务是一个测试服务器,并且具有自签名证书(名称与 Web 服务不同)并且也已过期

适用于 ConsoleTestApp 的解决方法:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (se, cert, chain, sslerror) =>
    {
        return true;
    };
MyWCFWrapperClass api = new MyWCFWrapperClass(..);
api.SendNewInfo("NewInfo");
Run Code Online (Sandbox Code Playgroud)

不推荐这样做,但目前对我来说还可以,因为它是一个测试服务器。

相同的解决方法在 MyaspnetcoreWebApp 控制器中不起作用。我试图让它发挥作用:。

  • Startup.cs
public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpClient("SeitaCertificate").ConfigurePrimaryHttpMessageHandler(() =>
    {
        return new HttpClientHandler() …
Run Code Online (Sandbox Code Playgroud)

c# wcf asp.net-core

2
推荐指数
1
解决办法
3167
查看次数

标签 统计

asp.net-core ×1

c# ×1

wcf ×1