WebInvoke方法= WCF上的REST服务的“POST”或“GET”

时间:2010-11-16 19:05:36

标签: wcf

什么时候应该使用post vs get?在WCF上的REST服务中,下面是我的界面

       [OperationContract]
       [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
       string DoLodge(string Id, Lodge value);

       [OperationContract]
       [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
       LodgeLevel[] GetLodgeLevels(string Id);

       [OperationContract]
       [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
       long GetLodgeCount(string Id);

4 个答案:

答案 0 :(得分:15)

将更新发送回服务器时应使用POST。

从服务器检索对象时应使用GET。

您可能想要了解HTTP动词在RESTful服务上下文中的含义:

答案 1 :(得分:7)

每次修改服务器上的某些状态时都会发出POST,如数据库更新,删除。 GET用于只读取数据库选择。

答案 2 :(得分:2)

GET:获取条目集合(作为订阅源文档)或单个条目(作为条目文档)。

POST:从条目文档创建一个新条目。

PUT:使用输入文档更新现有条目。

删除:删除条目。

答案 3 :(得分:0)

但是在C#中,您会收到GET中的回复。 所以完整的答案是, 从服务器检索对象时应使用GET,并在从服务器发回更新时使用。