0

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

4

0 回答 0