【发布时间】:2014-08-22 15:23:38
【问题描述】:
我试图研究这个问题,但失败了,因此我在这里问这个问题。我有一个调用 Web API 的 MVC 应用程序。其中一种方法返回 405 错误,我不知道为什么,尤其是同一控制器中的所有其他方法都可以正常工作。
这就是我从 MVC 端调用此方法的方式:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("{0}/api/Account/ArchiveAddress?addressId={1}", uri, addressId));
request.Method = "Get";
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
catch (Exception e)
{
return RedirectToAction("Error", "Error", new { error = e.Message });
}
其中 uri 是一个字符串:
http://localhost:52599
并且addressId是一个int
我在 Web API 端的方法是这样的:
[Route("ArchiveAddress")]
public IHttpActionResult ArchiveUserAddress(int addressId)
{
var address = _addressRepo.Find(addressId);
...
正如我所说,我以完全相同的方式在 API 上调用许多不同的方法,它们都可以正常工作。只是这个不想表现。可能是什么原因造成的?
【问题讨论】:
标签: asp.net asp.net-web-api routing asp.net-web-api2 http-status-code-405