WEB开发网
开发学院图形图像Flash [玩转Silverlight]第三回:基础篇,在Silverlight... 阅读

[玩转Silverlight]第三回:基础篇,在Silverlight中使用基于WCF的REST服务(上)

 2009-02-20 11:56:57 来源:WEB开发网   
核心提示: 其中UriTemplate是WCF为每种资源以模板的方式定义URI,使用方法和动词的组合,[玩转Silverlight]第三回:基础篇,在Silverlight中使用基于WCF的REST服务(上)(4),例如:[WebInvoke(UriTemplate = "/{name}/{

其中UriTemplate是WCF为每种资源以模板的方式定义URI,使用方法和动词的组合,例如:

[WebInvoke(UriTemplate = "/{name}/{post}", Method = "POST")]
Comment AddComment(string name, string post, Comment comment);

RequestFormat和ResponseFormat是WebMessageFormat类型的成员,其表示了Request和Response过程的传输格式为Xml或者Json:

public enum WebMessageFormat
{
  Xml = 0,
  Json = 1,
}

那么,按照WCF REST定义语法,我们开始定义一个完整的IPostService Contract如下:

// Release : 2009/02/12              
// Author : Anytao, http://www.anytao.com
[ServiceContract(Namespace="http://api.anytao.com/rest/")]
public interface IPostService
{
  [OperationContract]
  [WebGet(UriTemplate = "/", ResponseFormat = WebMessageFormat.Xml)]
  List<User> GetAllUsers();
  [OperationContract]
  [WebGet(UriTemplate = "/{name}", ResponseFormat = WebMessageFormat.Xml)]
  List<Post> GetPostsByName(string name);
  [OperationContract]
  [WebGet(UriTemplate = "/{name}/{post}", ResponseFormat = WebMessageFormat.Json)]
  Post GetPostByID(string name, string post);
  [OperationContract]
  [WebGet(UriTemplate = "/{name}/{post}/{comment}", ResponseFormat = WebMessageFormat.Json)]
  Comment GetCommentByAuthor(string name, string post, string comment);
  [OperationContract]
  [WebInvoke(UriTemplate = "/{name}/{post}", Method = "POST")]
  Comment AddComment(string name, string post, Comment comment);
}

上一页  1 2 3 4 5 6  下一页

Tags:Silverlight 第三回 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接