2012-07-13 64 views
1

我正在尝试使用新的System.Net.Http位来构建一个简单的HTTP客户端来与基于HTTP的API进行通信。我用Nuget(Microsoft.AspNet.WebApi.Client.4.0.20505.0)安装了这些位。使用WebRequestHandler的ServerCertificateValidationCallback时MissingMethodException?

我需要接受一些自签名证书,所以我试图设置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() 

看来类的设置属性不落实?有任何想法吗?

回答

1

MissingMethodException的总体编制和对已经历打破ABI变化(向前或向后)..

同一类型的执行时发生..我希望这是这里发生了什么。

Accoding到WebRequestHandler.ServerCertificateValidationCallback Property,该属性是只有 “支持.NET 4.5”,因此,使用.NET 4.0的版本会KABOOM!

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

+1

Aha ...是的,我忽略提及,我正在运行VS 2010和.NET 4.0。感谢您理清我;-) – 2012-07-13 21:43:26

+2

当我尝试使用这个,但只在Azure服务器上有NotImplementedException。我的项目设置为.Net 4.你是如何绕过这个的? – NER1808 2012-12-06 12:49:14

相关问题