登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发技术 > 正文

Silverlight RestWCF系列之:简单的Rest

2011-04-29 10:17    cnblogs 来源:cnblogs  作者: LoveJenny 编辑: 胡铭娅

    【IT168 技术】REST定义了应该如何正确地使用(这和大多数人的实际使用方式有很大不同)Web标准,例如HTTP和URI。如果你在设计应用程序时能坚持REST原则,那就预示着你将会得到一个使用了优质Web架构(这将让你受益)的系统。下面就让我们来详细了解一下:

       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")]

  List GetProducts();

  [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 List GetProducts()

  {

  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一下吧。

关键字: wcf , silverlight , 微软
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫一扫关注

行车视线文章推荐

首页 评论 返回顶部