事实证明,在四种可能的排列方式中,包括或排除
baseAddress传递给
GetAsync方法的URI和相对URI的尾部或前导斜杠以及传递给该方法(或其他方法)的相对URI
中
HttpClient,只有 一种 排列有效。您 必须 在的末尾放置一个斜杠
baseAddress,并且 不能
在相对URI的开头放置一个斜杠,如以下示例所示。
using (var handler = new HttpClientHandler())using (var client = new HttpClient(handler)){ client.baseAddress = new Uri("http://something.com/api/"); var response = await client.GetAsync("resource/7");}即使我回答了自己的问题,但我仍然想在这里提供解决方案,因为再次,这种不友好的行为没有记录在案。我和我的同事在一天的大部分时间中都在尝试解决最终由这种奇怪的问题引起的问题
HttpClient。



