在flurl中实现ModernHttpClient

时间:2016-10-25 21:56:22

标签: android xamarin.android flurl

尝试通过Xamarin.Android应用程序调用我的REST服务时,我一直收到此错误。 SecureChannelFailure(身份验证或解密失败。)如果我只使用普通的HttpClient,可以通过简单地注入ModernHttpClients MessageHandler来解决这个问题

Httpclient client = new HttpClient(new ModernHttpClient.NativeMessageHandler());

这已经过测试并且有效。但是我正在使用flurl所以我继续尝试通过根据此thread

覆盖DefaultHttpClientFactory类中的CreateMessageHandler方法来自定义HttpClientFactory。

这是要点

var client = new FlurlClient();
client.Settings.HttpClientFactory = new ModernHttpClientFactory();
var result = await "http://api.com".WithClient(client).GetAsync();

自定义工厂只使用ModernHttpClients处理程序。

public class ModernHttpClientFactory : DefaultHttpClientFactory
    {
        public override HttpMessageHandler CreateMessageHandler()
        {
            return new ModernHttpClient.NativeMessageHandler();
        }
    }

不幸的是,这似乎不起作用,因为我得到了与以前相同的错误。关于如何正确地进行flurl的任何想法?

0 个答案:

没有答案