2009-07-02 2 views

Antwort

8

Ihre unmittelbare Beobachtung, dass WebGet und WebInvoke sehr ähnlich sind, ist nicht allzu weit von der Wahrheit entfernt. WebGet gilt, wie Sie bereits erwähnt haben, für das HTTP GET-Verb, während WebInvoke für alle anderen Verben (PUT, POST, DELETE usw.) verwendet werden kann.

Viele der Parameter in WebInvoke spiegeln diese in WebGet wider. BodyStyle, RequestFormat, ResponseFormat und UriTemplate sind alle für WebGet und WebInvoke vorhanden. Das einzige Unterscheidungsmerkmal ist das Vorhandensein des Parameters "Method" für WebInvoke. Der Parameter Method gibt das HTTP-Verb an, das der Operation entspricht, wobei POST der Standardwert ist.

Ich hatte nicht die Chance, Reflector zu verwenden, um WebGet und WebInvoke unter die Haube zu schauen, aber ich vermute, dass sie sich sehr ähnlich sind, obwohl sie nur System.Attribute als gemeinsame Abstammung zu teilen scheinen.

0

Nun, es gibt einen Unterschied im Umgang mit der Anfrage. Im Allgemeinen verwenden Sie WebGet für GET. Siehe meine answer für Details.