2009-07-02 15 views

Répondre

8

Votre observation immédiate que WebGet et WebInvoke sont très similaires n'est pas trop loin de la vérité. WebGet, comme vous l'avez déjà dit, s'applique au verbe HTTP GET tandis que WebInvoke peut être utilisé pour s'appliquer à tous les autres verbes (PUT, POST, DELETE, etc.).

La plupart des paramètres de WebInvoke reflètent ceux de WebGet. BodyStyle, RequestFormat, ResponseFormat et UriTemplate sont tous présents pour WebGet et WebInvoke. Le différentiateur est la présence du paramètre "Method" pour WebInvoke. Le paramètre Method spécifie le verbe HTTP correspondant à l'opération, POST étant la valeur par défaut.

Je n'ai pas eu l'occasion d'utiliser Reflector pour regarder WebGet et WebInvoke sous le capot, mais je pense qu'ils se ressemblent beaucoup, même s'ils ne semblent partager que System.Attribute comme un lignage commun.

0

Eh bien, il y a une différence dans le traitement de la demande. Généralement, utilisez WebGet pour GET. Voir mon answer pour plus de détails.