HTTP客户端putAsync(不允许错误404方法)

时间:2015-11-12 14:26:45

标签: asp.net httpclient

我尝试使用托管在远程服务器上的WEB API更新对象。我很好地恢复了对象,但在更改时,答案给出了404方法不允许。我测试了在我附近的同事的机器上托管我的服务。它运作良好。是什么需要进行配置或其他什么? 非常感谢你。

client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage  responsse = client.PutAsJsonAsync("api/Collaborateurs/" + coll.matricule_collaborateur, coll).Result;

if (responsse.IsSuccessStatusCode) {
}

错误:

{StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Date: Thu, 12 Nov 2015 14:28:10 GMT
  Server: Microsoft-IIS/7.5
  X-Powered-By: ASP.NET
  Content-Length: 1343
  Allow: GET
  Allow: HEAD
  Allow: OPTIONS
  Allow: TRACE
  Content-Type: text/html
}}

2 个答案:

答案 0 :(得分:0)

WebDAV会干扰动词PUT。如果WebDAV存在于服务器上并且您不使用它,请尝试卸载它。

答案 1 :(得分:0)

您可能还需要联系远程服务器的管理员。 PUT有时会被网络交换机/路由器阻止。即很可能可以通过代码解决这个问题。请尝试使用POST。