尝试通过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的任何想法?