Ich bin ein wenig verwirrt senden bestimmte Statuscodes in Antworten von Web-API-Controllern. Hier ist Beispiel für eine einfache Steuerung Methode:ASP.NET - Einstellung Statuscode in der Controller-Antwort
public IHttpActionResult GetDeliveryMethods()
{
if (AuthenticationControl)
{
return Ok(db.DeliveryMethods);
}
else
return StatusCode(HttpStatusCode.Unauthorized);
}
Gut „AuthenticationControl“ stellt eine Prozedur Prüfung, wenn ein Client Daten vom Server erhalten können. Ganze Methode funktioniert gut, aber wenn ich zurückkomme, ist eine Antwort vom Serverstatuscode immer 200 OK. Ich verstehe nicht warum, diese Deklaration von Antworten und Statuscodes ist auch in der Haupt-Controller-Vorlage in VS.
Was muss ich tun, um meine Deklaration des Statuscodes als Antwort zu senden?
Es scheint, wie Sie fragen, warum immer dieser Code zurückgibt 200. Haben Sie darüber nachgedacht, einen Haltepunkt setzen und bestätigt, dass es trifft tatsächlich die 'Rückkehr Statuscode()'? – CodeCaster
Ja, aber wenn ich eine Antwort auf "BadRequest: oder" NotFound "einstelle, wird der Statuscode geändert. Das Problem könnte also die Deklaration der letzten Zeile im Code sein, also keine Änderung der Codenummer. – bares697
Ich habe auch versucht, zuletzt zu ändern Zeile nur zu "Unauthorized()", aber keine Wirkung. – bares697