【问题标题】:xamarin.forms httpclient change BaseAddress multiple times runtimexamarin.forms httpclient 多次更改 BaseAddress 运行时
【发布时间】:2020-04-09 12:36:16
【问题描述】:

我已将我的 Xamarin.Forms 更新到最新版本 (4.5.0.530)。 之后,我无法更改我的 httpclient 的 BaseAddress。 我有以下代码:

private static HttpClient client = new HttpClient(new NativeMessageHandler());
client = new HttpClient(new NativeMessageHandler());
client.BaseAddress = new Uri(App.hostserveradress);
client.Timeout = TimeSpan.FromMinutes(5);

后来,在我调用 Webservice 之后:

responseReset = await client.PostAsync("GetResetFotos", contentReset);

我想将 BaseAddress 更改为另一个:

client.BaseAddress = new Uri(App.serveradress);

但是当我设置新的 BaseAddress 时出现以下错误:

This instance has already started one or more requests. Properties can only be modified before sending the first request.

在更新 Xamarin.Forms 之前一切正常,现在我得到了命名错误。

我能做什么?

谢谢。

【问题讨论】:

  • HttpClient.DefaultRequestHeaders and BaseAddress) 只应在您发出任何请求之前设置一次。
  • 好的,但是为什么在更新之前它起作用了?我现在可以做什么,我可以在运行时调用两个不同的 BaseAddress?
  • 啊好吧,所以我必须创建一个HttpRequestMessage?但是为什么会改变呢?
  • 您不需要设置基地址。如果您只是使用完整的 URL,您可以向任意数量的网站发出请求

标签: xamarin.forms httpclient


【解决方案1】:

您不需要设置基地址。如果您只是使用完整的 URL,您 可以向任意数量的网站发出请求。

感谢@PaulVrugt,这解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    相关资源
    最近更新 更多