2009-07-02 12 views

Respuesta

8

Su observación inmediata de que WebGet y WebInvoke son muy similares no está muy lejos de la verdad. WebGet, como ya ha indicado, se aplica al verbo HTTP GET, mientras que WebInvoke se puede usar para aplicarlo a todos los demás verbos (PUT, POST, DELETE, etc.).

Muchos de los parámetros en WebInvoke reflejan los de WebGet. BodyStyle, RequestFormat, ResponseFormat y UriTemplate están presentes tanto para WebGet como para WebInvoke. El único diferenciador es la presencia del parámetro "Método" para WebInvoke. El parámetro Method especifica el verbo HTTP que corresponde a la operación, siendo POST el valor predeterminado.

No he tenido la oportunidad de utilizar Reflector para buscar WebGet y WebInvoke debajo del capó, pero sospecho que se parecen mucho aunque parezcan compartir System.Attribute como un linaje común.

0

Bueno, hay una diferencia en el manejo de la solicitud. Generalmente, use WebGet para GET. Ver mi answer para más detalles.