Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用appsettings.json在Serilog中禁用服务器证书验证?_C#_Serilog_Appsettings - Fatal编程技术网

C# 如何使用appsettings.json在Serilog中禁用服务器证书验证?

C# 如何使用appsettings.json在Serilog中禁用服务器证书验证?,c#,serilog,appsettings,C#,Serilog,Appsettings,当使用serilog中的电子邮件接收器时,我得到了错误 无法发送电子邮件:System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效 通过代码,我可以在EmailConnectionInfo上提供: ServerCertificateValidationCallback=(s、证书、链、sslPolicyErrors)=>true 但是我使用appsettings.json加载Serilog配置 可以通过appsett

当使用serilog中的电子邮件接收器时,我得到了错误

无法发送电子邮件:System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效

通过代码,我可以在EmailConnectionInfo上提供:

ServerCertificateValidationCallback=(s、证书、链、sslPolicyErrors)=>true

但是我使用appsettings.json加载Serilog配置

可以通过appsettings.json提供吗

我尝试过(在下面的示例中剥离敏感字段),但运气不好,出现了相同的错误:

"Serilog": {
    "Using": [ "Serilog.Sinks.Email" ],
    "MinimumLevel": "Debug",
    "WriteTo": [
      {
        "Name": "Email",
        "Args": {
          "connectionInfo": {
            "FromEmail": "",
            "ToEmail": "",
            "MailServer": "",
            "EmailSubject": "",
            "serverCertificateValidationCallback": "(s, cert, chain, sslPolicyErrors) => true"
          }
        }
      }
    ]
  }

目前,无法通过配置配置
服务器CertificateValidationCallback
。您必须通过代码对其进行配置


您可以在中打开问题以跟踪通过配置文件配置回调的功能请求和/或在中打开问题以查看将来是否可以实施解决方法。

谢谢。您知道在Serilog的上下文中应该如何接受自签名证书吗?@Coder80
ServerCertificateValidationCallback
是一种方法。您只需要检查策略错误,这样就不会接受无效证书。例子: