Я пытался исследовать проблему, но не смог, поэтому задаю этот вопрос здесь. У меня есть приложение MVC, вызывающее веб-API. Один из методов возвращает ошибку 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 является целым числом
Мой метод на стороне веб-API выглядит так:
[Route("ArchiveAddress")]
public IHttpActionResult ArchiveUserAddress(int addressId)
{
var address = _addressRepo.Find(addressId);
...
Как я уже сказал, я вызываю много разных методов в API совершенно одинаково, и все они работают нормально. Просто так себя вести не хочет. Что может быть причиной этого?