尝试通过 Xamarin.Android 应用程序调用我的 REST 服务时收到此错误。SecureChannelFailure(身份验证或解密失败。)如果我只使用普通的 HttpClient,这将通过像这样简单地注入 ModernHttpClients MessageHandler 来解决
Httpclient client = new HttpClient(new ModernHttpClient.NativeMessageHandler());
这已经过测试并且有效。但是我正在使用 flurl 所以我继续尝试通过根据这个线程覆盖 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的任何想法?