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;

//...