Lỗi này rất phổ biến và tôi đã thử tất cả các giải pháp nhưng không có giải pháp nào hoạt động. Tôi đã tắt xuất bản WebDAV trong bảng điều khiển và thêm tệp này vào tệp cấu hình web của mình:
<handlers>
<remove name="WebDAV"/>
</handlers>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
Lỗi vẫn còn. Đây là bộ điều khiển:
static readonly IProductRepository repository = new ProductRepository();
public Product Put(Product p)
{
return repository.Add(p);
}
Phương pháp thực hiện:
public Product Add(Product item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
item.Id = _nextId++;
products.Add(item);
return item;
}
Và đây là nơi ngoại lệ được ném ra:
client.BaseAddress = new Uri("http://localhost:5106/");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.PostAsJsonAsync("api/products", product);//405 exception
Bất kỳ đề xuất?