WebService服務重寫

2021-04-07 06:16:19 字數 1248 閱讀 5964

今天終於把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...