先看整體項目布局(如下圖所示),有個大體的了解。Jasen.SilverlightService為silverlight項目, Jasen.SilverlightService.Core為實現松耦合的類庫,Jasen.SilverlightService.Web為Web服務發布網站。 本文將講解web服務的注意事項以及使用技巧。這是本人在開發中的一些經驗以及總結,本來是需要通過WEB服 務獲取相關的2個數據,然後進行算法處理的(采用職責鏈設計模式設計路徑算法),這裡僅僅是大體框架而 已,希望本文能夠對讀者有一定的幫助。
(一)創建Web Service服務
以前總喜歡使用接口來進行編碼,但是這裡得注意了,Web服務方法的返回類型是不允許使用接口的, 如不能使用IList<T>類型等等(經驗之談而已,免得到時候代碼全部需要修改),而且該類型T必須是 可序列化的,還有一點就是類型如果有參數的構造函數,必須顯示實現無參構造函數。
按照下列順序 創建web服務(可以發現屬性的get;set;所產生的影響):
(1) 先在Jasen.SilverlightService.Web裡 定義一個實體類,我將SmallTitle(string)、IsSucceed(bool)設置為只讀的類型並且賦初始值,其他的設 置為自動屬性{get;set;}
代碼 /// <summary> /// /// </summary> public class ServerInfo { private bool _isSucceed = true; private string _smallTitle = "small title"; /// <summary> /// /// </summary> public string SmallTitle { get { return _smallTitle; } } /// <summary> /// /// </summary> public string Title { get; set; } /// <summary> /// /// </summary> public string Content { get; set; } /// <summary> /// /// </summary> public bool IsSucceed { get { return _isSucceed; } } /// <summary> /// /// </summary> public bool IsPublished { get; set; } }