C# 使用HttpClient从AspNet WebApi获取已创建对象的位置
我得到了一个发布数据并返回创建对象位置的服务C# 使用HttpClient从AspNet WebApi获取已创建对象的位置,c#,asp.net-web-api,dotnet-httpclient,C#,Asp.net Web Api,Dotnet Httpclient,我得到了一个发布数据并返回创建对象位置的服务 public IHttpActionResult Post([FromBody]ErbrachteLeistung value) { int newLeistungId = service.AddErbrachteLeistung(value); return Created($"api/ErbrachteLeistung/{newLeistungId}", value); } 我的客户看起来像这样 HttpClientHandler h
public IHttpActionResult Post([FromBody]ErbrachteLeistung value)
{
int newLeistungId = service.AddErbrachteLeistung(value);
return Created($"api/ErbrachteLeistung/{newLeistungId}", value);
}
我的客户看起来像这样
HttpClientHandler handler = new HttpClientHandler
{
UseDefaultCredentials = true,
AllowAutoRedirect = true
};
using (HttpClient client = new HttpClient(handler))
{
client.BaseAddress = new Uri(WebApiUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.PostAsJsonAsync<ErbrachteLeistung>("api/ErbrachteLeistung", erbrachteLeistung).Result;
response.EnsureSuccessStatusCode();
}
HttpClientHandler处理程序=新的HttpClientHandler
{
UseDefaultCredentials=true,
AllowAutoRedirect=true
};
使用(HttpClient=newhttpclient(handler))
{
client.BaseAddress=新Uri(WebApiUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage response=client.postsJSONASync(“api/erbrachTelestung”,erbrachTelestung)。结果;
response.EnsureSuccessStatusCode();
}
如何从响应中读取WebService中给定的已创建位置?已创建的201响应将该值存储在位置标头中
//...
response.EnsureSuccessStatusCode();
Uri location = response.Headers.Location;
//...
201创建的响应将该值存储在位置头中
//...
response.EnsureSuccessStatusCode();
Uri location = response.Headers.Location;
//...