WCF WebGetAttribute与WebInvokeAttribute

puf*_*pio 9 .net wcf webget

WebGetAttribute是使用Method ="GET"的WebInvokeAttribute的语法糖吗?或者是否存在潜在的差异?

小智 8

您对WebGet和WebInvoke非常相似的直接观察结果与事实并无太大关系.正如您已经说过的,WebGet适用于HTTP GET动词,而WebInvoke可用于应用于所有其他动词(PUT,POST,DELETE等).

WebInvoke中的许多参数都反映了WebGet中的参数.WebGet和WebInvoke都有BodyStyle,RequestFormat,ResponseFormat和UriTemplate.一个区别是WebInvoke的"Method"参数的存在.Method参数指定与操作对应的HTTP谓词,POST是默认值.

我没有机会使用Reflector查看WebGet和WebInvoke的内幕,但我怀疑它们非常相似,即使它们似乎只是将System.Attribute共享为一个共同的谱系.