【发布时间】: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,您可以向任意数量的网站发出请求