【问题标题】:Alternate option of ModernHttpClient for Xamarin .Net Standard 2.0Xamarin .Net Standard 2.0 的 ModernHttpClient 替代选项
【发布时间】:2019-02-08 14:12:49
【问题描述】:

我有旧项目,它位于 Xamarin.Form v2.5 中。这是已弃用的 PCL 项目。我试图升级但ModernHttpClient 无法正常工作。说明DLL不能正常工作。

我有以下基于ModernHttpClient 的代码。任何人都可以建议如何在 .Net Standard 2.0 中处理这个问题,因为 DLL 没有正确添加?

internal class AuthenticatedHttpClientHandler : NativeMessageHandler
{
    public AuthenticatedHttpClientHandler()
    {
        CookieContainer = new CookieContainer();
    }

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
        CancellationToken cancellationToken)
    {
        using (var cts = new CancellationTokenSource(System.TimeSpan.FromSeconds(30)))
        {
            var response = await base.SendAsync(request, cts.Token).ConfigureAwait(false);
            return response;
        }
    }
} 

请推荐

【问题讨论】:

  • 您可以使用普通的HttpClientRefit
  • @FabriBertani 谢谢。支持.Net Standard 2.0 的ModernHttpClient 是否有可用的升级?或者我必须和HttpClient一起去Refit
  • 如果你还想使用ModernHttpClient,你可以试试Alex Rainman ModernHttpClient

标签: xamarin.forms .net-standard-2.0


【解决方案1】:

由于 DLL 没有正确添加,任何人都可以建议如何在 .Net Standard 2.0 中处理这个问题吗?

如果你只是将ModernHttpClient安装到IOS/Android/UWP,没有问题。来自official sample,ModernHttpClient在原生平台上使用:

解决方案:

删除Forms Solution中安装的NuGet,只为每个原生平台安装,然后这个警告就会消失。如下:

右键单击根解决方案项目 -> 管理解决方案的 NuGet 包.. -> 选择所需的原生平台来安装 ModernHttpClient,而不是选择表单项目选项

【讨论】:

  • 谢谢。我在表单解决方案中有 ModernHttpClient 的代码。如果我从 Forms 解决方案中删除并将其添加到本机平台中,它将如何在 Forms 解决方案中作为类文件工作将需要 ModernHttpClient 的参考。请指导。
  • 你可以参考这个代码。(github.com/alexrainman/ModernHttpClient/blob/master/…后面有具体代码会分享给大家。如果回答有帮助记得标记哦。^.^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多