WebService 设计总结

转载:http://blog.csdn.net/fangxing80/article/details/26940845

原始的 WebService 如下:

[csharp] view plaincopy技术分享技术分享
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.Services;  
  6. using WebService1.Entity;  
  7. using WebService1.Service;  
  8. using System.Web.Services.Protocols;  
  9.   
  10. namespace WebService1  
  11. {  
  12.     [WebService(Namespace = "http://tempuri.org/")]  
  13.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
  14.     [System.ComponentModel.ToolboxItem(false)]  
  15.     public class Service1 : System.Web.Services.WebService  
  16.     {  
  17.         [WebMethod]         
  18.         public PageResult<Order> QueryOrder(Query<OrderCondition> queryInfo)  
  19.         {  
  20.             OrderService service = new OrderService();  
  21.             return service.Query(queryInfo);  
  22.         }  
  23.     }  
  24. }  

 

PageResult<T>, Query<T>  将统一的业务部分抽取出来,这样定义其他的业务对象就能简化了。

[html] view plaincopy技术分享技术分享
 
  1. using System;  
  2. using System.Collections.Generic;  
  3.   
  4. namespace WebService1.Entity  
  5. {  
  6.     [Serializable]  
  7.     public class PageResult<T>  
  8.     {  
  9.         public int PageNo { get; set; }  
  10.         public int PageSize { get; set; }  
  11.         public int TotalCount { get; set; }  
  12.         public int PageCount { get; set; }  
  13.         public bool HasNextPage { get; set; }  
  14.         public List<T> Data { get; set; }  
  15.     }  
  16. }  
[csharp] view plaincopy技术分享技术分享
 
  1. using System;  
  2. using System.Collections.Generic;  
  3.   
  4. namespace WebService1.Entity  
  5. {  
  6.     [Serializable]  
  7.     public class Query<T>  
  8.     {  
  9.         public int PageNo { get; set; }  
  10.         public int PageSize { get; set; }  
  11.         public T Condition { get; set; }  
  12.     }  
  13. }  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。