9

WebGetAttribute 只是 Method = "GET" 的 WebInvokeAttribute 的语法糖吗?还是有根本的区别?

4

2 回答 2

8

您立即观察到 WebGet 和 WebInvoke 非常相似,这与事实相去甚远。正如您已经说过的,WebGet 适用于 HTTP GET 动词,而 WebInvoke 可用于适用于所有其他动词(PUT、POST、DELETE 等)。

WebInvoke 中的许多参数反映了 WebGet 中的参数。BodyStyle、RequestFormat、ResponseFormat 和 UriTemplate 都适用于 WebGet 和 WebInvoke。一个区别是 WebInvoke 的“方法”参数的存在。Method 参数指定与操作对应的 HTTP 谓词,POST 为默认值。

我没有机会使用 Reflector 来查看 WebGet 和 WebInvoke 的底层,但我怀疑它们非常相似,即使它们似乎只共享 System.Attribute 作为一个共同的血统。

于 2009-07-02T06:51:21.583 回答
0

好吧,处理请求是有区别的。一般WebGet用于GET. 有关详细信息,请参阅我的答案

于 2017-03-29T16:13:21.877 回答