该错误消息通常出现在使用HttpClient发出请求的时候。它发生在以下情况下:
您未提供正确的请求URI,即请求URI不是绝对URI。
您未设置BaseAddress。
要解决此问题,请确保提供正确的请求URI或设置BaseAddress。下面是一个使用HttpClient的示例:
using System.Net.Http;
using System.Threading.Tasks;
public class Example
{
private static readonly HttpClient client = new HttpClient();
public static async Task RunAsync()
{
//设置基础地址
client.BaseAddress = new Uri("http://localhost:5000/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
//正确的请求URI
HttpResponseMessage response = await client.GetAsync("api/products");
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
}
在上面的示例中,我们设置了HttpClient的BaseAddress,并使用相对地址“api/products”来发送请求。在此示例中,如果未设置BaseAddress,则会收到“无效请求URI”的错误消息。
上一篇:ASP.NETCoreWebAPI-System.InvalidOperationException:TheLINQexpression'DbSet<Mandate>()'
下一篇:ASP.NETCoreWebAPI-我可以使用[FromServices]和自定义模型绑定器来实现[SwaggerIgnore]吗?