其實現的原理並沒有本質的區別,在應用開發層面上有以下區別:
1、remoting可以靈活的定義其所基於的協議,如果定義為http,則與web service就沒有什麼區別了,一般都喜歡定義為tcp,這樣比web service稍為高效一些
2、remoting不是標準,而web service是標準;
3、remoting一般需要通過乙個winform或是windows服務進行啟動,而web service則需要iis進行啟動。
4、在vs.net開發環境中,專門對web service的呼叫進行了封裝,用起來比remoting方便
我建議還是採用web service好些,對於開發來說更容易控制
remoting一般用在c/s的系統中,web service是用在b/s系統中
後者還是各語言的通用介面
相同之處就是都基於xml
為了能清楚地描述web service 和remoting之間得區別,我打算從他們的體系結構上來說起:
web service大體上分為5個層次:
1. http傳輸通道
2. xml的資料格式
3. soap封裝格式
4. wsdl的描述方式
5. uddi
總體上來講,.net 下的 web service結構比較簡單,也比較容易理解和應用:
一般來講在.net結構下的webservice應用都是基於.net framework以及iis的架構之下,所以部署(dispose)起來相對比較容易點.
從實現的角度來講,
首先webservice必須把暴露給客戶端的方法所在的類繼承於:system.web.services.webservice這個基類
其次所暴露的方法前面必須有[webmethod]或者[webmethodattribute]
webservice的執行機理
首先客戶端從伺服器的到webservice的wsdl,同時在客戶端聲稱乙個**類(proxy class)
這個**類負責與webservice伺服器進行request 和response
當乙個資料(xml格式的)被封裝成soap格式的資料流傳送到伺服器端的時候,就會生成乙個程序物件並且把接收到這個request的soap包進行解析,然後對事物進行處理,處理結束以後再對這個計算結果進行soap包裝,然後把這個包作為乙個response傳送給客戶端的**類(proxy class),同樣地,這個**類也對這個soap包進行解析處理,繼而進行後續操作。
這就是webservice的乙個執行過程。
下面對.net remoting進行概括的闡述:
.net remoting 是在dcom等基礎上發展起來的一種技術,它的主要目的是實現跨平台、跨語言、穿透企業防火牆,這也是他的基本特點,與webservice有所不同的是,它支援http以及tcp通道,而且它不僅能傳輸xml格式的soap包,也可以傳輸傳統意義上的二進位製流,這使得它變得效率更高也更加靈活。而且它不依賴於iis,使用者可以自己開發(development)並部署(dispose)自己喜歡的宿主伺服器,所以從這些方面上來講webservice其實上是.net remoting的一種特例。
1. remoting 是marshbyreference的,可以傳變數的引用,直接對伺服器物件操作。速度快,適合intranet(企業內部網際網路)。
webservice 是marshbyvalue的,必須傳物件的值。速度慢,可以過firewall,配置比較簡單,適合internet(網際網路)。
2. 一般來說,remoting是和平台相關的,需要客戶和伺服器都是.net,但可配置特性比較好,可以自定義協議。web service可以做到跨平台通訊,但必須採用soap協議。
3. s
oap訊息有rpc和文件兩種樣式。
文件樣式的body元素中包含乙個或多個元素,可以是任何內容,只要接受者理解就行了。rpc樣式的的body元素中包含呼叫的方法或遠端過程的名稱,以及
代表方法引數的元素。
.net對這兩種樣式的實現就是web service 和remoting .
remoting和webservice有什麼區別
其實現的原理並沒有本質的區別,在應用開發層面上有以下區別 1 remoting可以靈活的定義其所基於的協議,如果定義為http,則與web service就沒有什麼區別了,一般都喜歡定義為tcp,這樣比web service稍為高效一些 2 remoting不是標準,而web service是標準 ...
Remoting和Webservice的區別
其實現的原理並沒有本質的區別,在應用開發層面上有以下區別 1 remoting可以靈活的定義其所基於的協議,如果定義為http,則與web service就沒有什麼區別了,一般都喜歡定義為tcp,這樣比web service稍為高效一些 2 remoting不是標準,而web service是標準 ...
Remoting和Webservice的區別
remoting和webservice的區別 其實現的原理並沒有本質的區別,在應用開發層面上有以下區別 1 remoting可以靈活的定義其所基於的協議,如果定義為http,則與web service就沒有什麼區別了,一般都喜歡定義為tcp,這樣比web service稍為高效一些 2 remoti...