Wcf WebInvoke 与WebGet 的区别!

WebInvoke与 WebGet 作用都是为了把当前服务给暴露出去,允许客户端直接调用此服务, WebInvoke 更适用于对数据进行操作(数据录入,数据修改,数据删除),WebGet 的定义提交方式类似 "Get" 所以更适用于数据查询(数据呈现),

using System.ServiceModel;
using System.ServiceModel.Web
共同的引用。他们属性是一样的
    BodyStyle                          获取和设置传入与传出服务操作的消息的正文样式。

IsBodyStyleSetExplicitly 获取 IsBodyStyleSetExplicitly 属性

IsRequestFormatSetExplicitly 获取 IsRequestFormatSetExplicitly 属性。
IsResponseFormatSetExplicitly 获取 IsResponseFormatSetExplicitly 属性。
Method 获取和设置服务操作响应的协议(如 HTTP)方法。
RequestFormat 获取和设置 RequestFormat 属性。
ResponseFormat 获取和设置 ResponseFormat 属性。
TypeId 在派生类中实现时,获取此 Attribute 的唯一标识符。(继承自 Attribute。)
UriTemplate 用于服务操作的统一资源标识符 (URI) 模板。
加上这两个我认为就是  REST 和Wcf  就有点远了,但都同是 Service
 
代码:
        [OperationContract]
        [WebGet(UriTemplate = "/Action/{id}")]   //可以直接根据具体的参数id进行访问
                    
        public string  Get (int id)
        {
           String str="Hellow Word";
                              str+=id;
            return str;
        }
 
 
             [OperationContract]
             [WebInvoke(Method = "POST", UriTemplate = "UpdateBasicData", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
             int UpdateBasicData(SysBasicData model);
 
 
刚刚学习,请各位大神指点!

 

 名称说明
System_CAPS_pubproperty BodyStyle

获取和设置传入与传出服务操作的消息的正文样式。

System_CAPS_pubproperty IsBodyStyleSetExplicitly

获取 IsBodyStyleSetExplicitly 属性。

System_CAPS_pubproperty IsRequestFormatSetExplicitly

获取 IsRequestFormatSetExplicitly 属性。

System_CAPS_pubproperty IsResponseFormatSetExplicitly
System_CAPS_pubproperty Method

获取和设置服务操作响应的协议(如 HTTP)方法。

System_CAPS_pubproperty RequestFormat

获取和设置 RequestFormat 属性。

System_CAPS_pubproperty ResponseFormat

获取和设置 ResponseFormat 属性。

System_CAPS_pubproperty TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。(继承自 Attribute。)

System_CAPS_pubproperty UriTemplate

用于服务操作的统一资源标识符 (URI) 模板。

posted @ 2016-11-25 17:25  乐途  阅读(4339)  评论(0编辑  收藏  举报