Der Remoteserver hat einen Fehler zurückgegeben: (405) Method not Allowed
War ich versucht, die Forschung das problem, aber nicht, bin deshalb diese Frage hier. Ich habe eine MVC-Anwendung Web-API-aufrufen. Eine der Methoden gibt 405 Fehler, und ich habe keine Ahnung, warum, vor allem, dass alle anderen Methoden in den gleichen controller arbeiten absolut in Ordnung.
Dies ist, wie rufe ich diese Methode von MVC-Ende:
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 });
}
Wo uri ist eine Zeichenfolge:
http://localhost:52599
und addressId ist ein int
Meine Methode, die auf der Web-API-Ende wie folgt aussieht:
[Route("ArchiveAddress")]
public IHttpActionResult ArchiveUserAddress(int addressId)
{
var address = _addressRepo.Find(addressId);
...
Wie gesagt, ich nenne viele verschiedene Methoden der API auf genau die gleiche Weise, und Sie alle gut funktionieren. Nur das man nicht will, zu Verhalten. Was verursachen könnte?
InformationsquelleAutor Bartosz | 2014-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie brauchen, um zu dekorieren Sie Ihr action-Methode (
ArchiveUserAddress
) mit der[HttpGet]
Attribut oder nennen Sie es etwas, das beginnt mitGet...
z.B.GetArchiveUserAddress
. So wie es da steht, es tun würde, passen diePOST
- Methode, das bedeutet, es gibt keine getter-daher die Fehlermeldung, die Sie bekommen.Sie sind sehr willkommen.
InformationsquelleAutor djikay