我對WCF和其他Web服務(如asp.net ASMX,.net Remoting)感到困惑,有人可以告訴我與WCF和其他Web服務有何區別,何時應該使用它,謝謝!與WCF和其他Web服務有什麼不同?
回答
我認爲WCF替代ASMX和遠程處理是公平的。 您可以使用ASMX和遠程處理以及WCF實現更多功能,但是您擁有更多的功能,並且通常可以更好地控制正在發生的事情。
所以我相信,如果可以的話,你應該使用WCF。
WCF是通信庫,它是.NET遠程處理和「舊」ASMX Web服務以及這兩個庫的後繼者的超集。
WCF Web服務對WS- *標準提供了更好的支持,並且互操作性問題更少。
基本上,你應該使用WCF,因爲.NET Remoting的和ASMX可能被視爲legecy(如果我沒有記錯,一些.NET遠程漏洞只固定於WCF和從未在.NET遠程本身)
WCF是一個通信堆棧,允許通過HTTP(如ASMX)和TCP(如Remoting)以及命名管道(這實際上是一個機器內跨進程調用),MSMQ以及.NET 3.5 REST公開服務。
它允許這樣做,因爲它將服務的通信部分從業務邏輯中分離出來。所有你需要做的就是用合適的契約屬性([SeriviceContract],[OperationContract]和[DataContract]裝飾你的服務類,方法和DTO。)
這有一個能夠寫一次服務的好處,並允許許多不同類型的客戶端使用相同的服務(即Java客戶端可以使用HTTP,.NET客戶端可以使用TCP,傳統可以使用MSMQ等)。
WCF仍然會允許您使用每個傳輸的所有功能,包括安全性,事務處理,可靠的消息傳遞等,但是您需要謹慎使用。並非所有功能都適用於所有傳輸,您需要相應地進行設計。 WCF允許您在合同中指定哪些功能是必需的。這樣可以防止somone嘗試以不支持所需功能集的方式公開您的服務(即,如果您的服務需要事務處理,則WCF運行時將不允許通過基本HTTP端點訪問該服務)。
WCF也是可擴展通過自定義行爲(這影響WCF運行時是如何工作的)和自定義渠道(控制服務如何WCF與外界溝通。)
WCF有一個學習曲線相比, ASMX,但ABSOLUTLY的好處在於減輕這種學習曲線。
希望有所幫助。
- 1. 爲什麼我的.NET Web服務XML與其他人不同?
- 2. Web服務與api有什麼不同?
- 3. Web服務和WCF有什麼不同? Arent他們是一樣的嗎?
- 4. WCF Web服務正在觀看其他WCF Web服務
- 5. Rest Web Service和其他支持wcf服務之間有什麼區別?
- 6. 其他Web服務同步
- 7. Apache和Mongrel /其他Web服務器不是ISS有什麼區別?
- 8. WCF web服務和java web服務
- 9. Asp.Net Web API和WCF服務有什麼區別?
- 10. 使用basicHttp與ASMX Web服務進行wcf服務有什麼優勢
- 11. 返回其他服務的WCF服務
- 12. Web服務可以與其他Web服務交談嗎?
- 13. REST服務與其他服務的區別是什麼
- 14. 爲什麼我的WCF Web服務有兩個不同的SOAP綁定?
- 15. 與屏幕瀏覽和使用web服務混搭有什麼不同
- 16. 「Web服務」和「Web服務」有什麼區別?
- 17. WCF服務與Web服務和REST服務的區別
- 18. 與調用其他Web服務的Web服務有任何衝突嗎?
- 19. ASP.NET Web服務與WCF服務
- 20. Web服務和RPC有什麼區別?
- 21. 其他Web服務器
- 22. WCF REST服務 - 傳遞不在合同中的其他參數
- 23. WCF中的服務合同是什麼?
- 24. 什麼是Windows服務?它們與其他.NET應用程序有什麼不同?
- 25. DDD服務和WCF服務有什麼區別?
- 26. WCF和RIA服務域服務類有什麼區別?
- 27. ado.net數據服務和WCF數據服務有什麼區別?
- 28. Web服務WCF和Javascript
- 29. WCF Web服務和Windows Phone
- 30. JSON和WCF Web服務
在WCF中,DataContractSerializer可以訪問非公共成員,因此它需要完全信任,而XML序列化器(在Web服務中)則不需要。由於完全可信的代碼訪問機器上的所有資源,因此應謹慎使用。 – Adeel 2010-01-29 10:30:40