本篇内容主要讲解“怎么应用WCF中的REST”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么应用WCF中的REST”吧!
创新互联公司服务项目包括禹州网站建设、禹州网站制作、禹州网页制作以及禹州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,禹州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到禹州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1:新建WCF服务应用程序,名称为RestWCF,选择在新网站中承载.
2:新建实体类Product,代码如下:
[DataContract] public class Product { [DataMember] public Guid Id { get; set; } [DataMember] public String Name { get; set; } }
3:新建服务契约IProductService:
[ServiceContract] public interface IProductService { [OperationContract] [WebGet(UriTemplate="Product")] ListGetProducts(); [OperationContract] [WebInvoke(UriTemplate="Product",Method="PUT")] bool CreateProduct(Product product); [OperationContract] [WebInvoke(UriTemplate = "Product", Method = "POST")] bool UpdateProduct(Product product); [OperationContract] [WebInvoke(UriTemplate = "Product", Method = "DELETE")] bool DeleteProduct(Product product); }
注意的是这里都是一些CRUD操作,但是除了OperationContract修饰外,还有WebGet,WebInvoke特性来修饰。
UriTemplate就是Uri模版的意思,如果web地址为http://www.rest.com.那么rest服务的地址就是http://www.rest.com/Product.
OK.上面的契约大致表示
GET-----GetProducts方法。
PUT-----CreateProduct.
POST----UpdateProduct
DELETE---DeleteProduct。
4:新建服务类:ProductService,实现服务接口,代码如下:
public class ProductService:IProductService { public ListGetProducts() { return new List () { new Product(){ Id=Guid.NewGuid(), Name="111"}, new Product(){ Id=Guid.NewGuid(), Name="222"}, new Product(){ Id=Guid.NewGuid(), Name="333"}, }; } public bool CreateProduct(Product product) { return true; } public bool UpdateProduct(Product product) { return true; } public bool DeleteProduct(Product product) { return true; } }
当然了,实际上肯定是数据库操作,在这里我们就先Mock一下吧。
5:新建ProductService.svc文件,代码如下:
<%@ ServiceHost Language="C#" Debug="true" Service="RestWCF.ProductService" %>
这里有一点要注意。Service对应的是包含类的全部名称=命名空间+类名.
6:配置web.config文件。
在这里因为要配置Rest服务,所以我们添加webHttp Behavior,并且启用helpEnabled.在这里我们设置defaultBodyStyle="Bare"代表不包装。
defaultOutgoingResonseFormat="Json",则代表默认输出的格式是json,如果不设置的话,默认是xml。
7:在浏览器中浏览,因为我们启用了HelpEnabled.所以我们输入的地址是:
8:OK,服务我们已经配置完成了,我们还是测试下吧,打开fiddler.
结果如下:
在这里我们提交下POST请求。
下回我们将使用Silverlight来调用Get,Post,Put,Delete的Rest服务。
oh,我忘记了,这些全部是大写,所以你***记住GET,POST,PUT,DELETE.
到此,相信大家对“怎么应用WCF中的REST”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!