Ich habe mit WebApi entwickelt und bin zu WebApi2 übergegangen, wo Microsoft eine neue Benutzeroberfläche eingeführt hat IHttpActionResult
, die anscheinend empfohlen wird, über die Rückgabe von a HttpResponseMessage
. Ich bin verwirrt über die Vorteile dieser neuen Schnittstelle. Es scheint hauptsächlich nur eine etwas einfachere Möglichkeit zu bieten, eine zu erstellen HttpResponseMessage
.
Ich würde argumentieren, dass dies "Abstraktion um der Abstraktion willen" ist. Vermisse ich etwas Was sind die realen Vorteile, die ich durch die Verwendung dieser neuen Schnittstelle bekomme, außer vielleicht das Speichern einer Codezeile?
Alter Weg (WebApi):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
Neuer Weg (WebApi2):
public IHttpActionResult Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
//return new HttpResponseMessage(HttpStatusCode.OK);
return Ok();
}
else
{
//throw new HttpResponseException(HttpStatusCode.NotFound);
return NotFound();
}
}
HttpResponseMessage
ich die Antwort in 9545 ms zurückerhalten . * Mit dem habeIHttpActionResult
ich die gleiche Antwort in 294 ms zurückbekommen .