1

我正在尝试使用新的 System.Net.Http 位来构建一个简单的 HTTP 客户端来与基于 HTTP 的 API 对话。我用 Nuget (Microsoft.AspNet.WebApi.Client.4.0.20505.0) 安装了这些位。

我需要接受一些自签名证书,所以我试图设置 WebRequestHandler 类的 ServerCertificateValidationCallback 属性。这是说明我遇到的问题的两行测试:

    [Test]
    public void CanRunDummyTest() {
        var handler = new WebRequestHandler();
        handler.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
    }

但它抛出:

CanRunDummyTest : FailedSystem.MissingMethodException : 
Method not found: 'Void System.Net.Http.WebRequestHandler.set_ServerCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback)'
at AxlTests.RawAxlTests.CanRunDummyTest() 

好像没有实现类的Set属性?有任何想法吗?

4

1 回答 1

1

MissingMethodException'通常发生在针对经历了破坏性 ABI 更改(向前或向后)的同一类型编译和执行时..

..我希望这就是这里发生的事情。

根据WebRequestHandler.ServerCertificateValidationCallback 属性,该属性“在 .NET 4.5 中受支持”,因此使用 .NET 4.0 版本将大放异彩!

构建时,请确保 .NET 4.0(或适用)是(希望)获得编译时错误的目标。

于 2012-07-13T21:41:20.943 回答