來個索引
SilverLight企業應用框架設計【四】實體層設計+為客戶端動態生成服務代理(自己實現RiaService)
SilverLight企業應用框架設計【三】服務端設計
SilverLight企業應用框架設計【二】框架畫面
SilverLight企業應用框架設計【一】整體說明
在上一節中講到的自動生成的服務代理類核心代碼,如下
大家注意到我們是通過ServiceInvoker來調用服務的
實例化ServiceInvoker類之后就注冊了ServiceEventHandler事件
此事件是服務調用完成后觸發的事件(silverlight 原生的ria service也有一個completed事件)
該事件相關代碼如下
在si.PrepareInvoke把需要調用的服務類名,方法名,返回值類型(如果有參數,這里還會自動加入參數)
PrepareInvoke方法如下
在此方法中主要是記錄下這些信息,
另外把服務需要傳入的參數序列化成JSON字符串
緊接着就調用InvokeService方法
代碼如下
明眼人一看就明了了
其實就是使用HTTPWebRequest來調用服務(服務端我們托管了HttpHandler的請求)
RequestReady事件如下:
在此事件中我們把服務類名方法名和參數寫入了請求流
ResponseReady事件如下
這個事件把服務端返回的結果(JSON數據)反序列化成實體類型,並賦值給ServiceEventArgs
然后觸發了Completed事件
也就是觸發我們服務端代理類的si_Completed事件
至此,調用服務端的類就解釋完了
下面我們看看是怎么調用服務端的
看看是不是與ria service調用的方法有點像呢?
…………………………………………………………………………喜歡的話……………請推薦吧………………………………………………………
估計再寫一篇就完結了
下一篇公布源碼