今天終於把webservice服務重寫了;並且做一下簡單效能與資料傳送穩定性測試;
我重寫webserver的原因有以下幾個:
1、不支援伺服器事件(伺服器不能望客戶端主動發訊息)
2、調webserver方法不方便(必須進行webserver引用;webserver引用的目的就是生成一些客戶端**)
3、不能傳送物件(不是完全不能;是不方便)
4、必須與iis整合
5、服務端維護不方便
6、所有服務的呼叫都是public的,不能進行許可權控制(在方法內可以實現)
7、方法的異常返回不方便;
以上問題我已經解決了
1、用非同步實現伺服器事件
2、使用簡單唯一介面呼叫;我實現了乙個名字為post的唯一介面;定義如下:
public function post(byval methodfullpath as string, byval methodname as string, byval parameters() as object, byref returnvalue as object) as boolean
methodfullpath:方法的相對虛擬路徑如:system/user
methodname: 方法名稱如:login
parameters() : 引數陣列;能自動識別引數的型別;能自動把非簡單型別進行序列化
returnvalue :返回值
3、使用序列化實現物件的傳送與接收
4、使用httpwebrequest:httpwebresponse:httplistener來實現伺服器與客戶端的通訊;並且完全相容iis;也就是說伺服器端可以用httplistener服務來做伺服器;也可以用iis做伺服器;能夠完全的嵌入asp.net中;單獨實現了httpwebrequest:httpwebresponse:httplistener;因為httpwebrequest:httpwebresponse:httplistener在windows xp sp2 或windosw 2003 sp1前不能使用
5、伺服器上的所有方法都使用外掛程式模式;在不需要修改主程式的情況下任意修改加減類、方法
6、所有服務進行統一管理;設定許可權。
7、把外掛程式中的異常進行序列化;返回到客戶端。
效能與資料傳送穩定性測試:
1、從伺服器上提取乙個表:30個字段、6萬條資料共計45m;10秒搞定
2、把從伺服器上提起的表傳送到伺服器;再返回來;40秒
3、從伺服器上提取乙個表:30個字段、1000條資料,2秒搞定
webservice服務 記錄
一 四個概念 soap 簡單物件訪問協議 http xml soa 面向服務的架構,它是一種思想,ibm大力倡導 service 1 service2 service3 服務都是面向web的 而且是即插即用的 ibm大力提倡,希望以組裝電腦的方式來開發應用 組成 1.面向web的服務,面向web的元...
天氣webservice服務
3 未來三天天氣 string 5 到 string 11 當天的 氣溫,概況 風向和風力 天氣趨勢開始名稱 以下稱 圖示一 天氣趨勢結束名稱 以下稱 圖示二 現在的天氣實況,天氣和生活指數。string 12 到 string 16 第二天的 氣溫,概況,風向和風力,圖示一,圖示二。string ...
動態呼叫webservice服務
第一步 建立webservice服務 略。第二步 建乙個 類 using system using system.collections.generic using system.linq using system.text using system.codedom.compiler using s...