Der Unterschied ist sehr subtil. @Badri gab dir eine gute kurze Erklärung.
Mit Blick auf at this poster, erkennen Sie, worum es geht. Denken Sie daran, dass Sie beim Erstellen eigener DelegatingHandler nicht mit irgendetwas zu tun haben, das nicht speziell HTTP-Zeug ist. Das ist nicht der richtige Ort, um mit dem BODY im Falle eines POST zu spielen. beispielsweise.
Eine nützliche Sache, die Sie tun können, ist sehr früh in der Rohrleitung zu erkennen, dass ein Token nicht in den Headern vorhanden ist, dann können Sie dann und dort die Anfrage beenden und eine StatusCode.Forbidden Antwort erstellen. Natürlich braucht eine einfache Webseite das nicht. Nur ein Overkill. Aber wenn Sie Millionen von Anrufen pro Minute erhalten, ist es sehr praktisch, da es passiert, bevor der Controller tatsächlich instanziiert wird.
Es gibt nur wenige Fälle, in denen Sie das wirklich brauchen. Oder sagen, dass der Client, der den Rest aufruft, nur GET und POST ausführen kann, aber in den Headern ein X-Method-Override = PUT angibt, dann können Sie an dieser Stelle die Request-Methode von POST zu PUT ändern, so dass Ihr Controller/action dispatcher erstellt die richtige Instanz und ruft die richtige Aktion auf.
Hier ist das interessante Poster. PRINT IT: D
http://www.asp.net/media/4071077/aspnet-web-api-poster.pdf
Wer weiß, wie Nachrichten-Handler in web.config konfigurieren – Gurpreet