日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

艾伟:WCF从理论到实践(2):决战紫禁之巅

發布時間:2025/3/8 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 艾伟:WCF从理论到实践(2):决战紫禁之巅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本系列文章導航

WCF從理論到實踐(1):揭開神秘面紗

WCF從理論到實踐(2):決戰紫禁之巔

WCF從理論到實踐(3):八號當鋪之黑色契約

WCF從理論到實踐(4):路在何方

WCF從理論到實踐(5):Binding細解

WCF從理論到實踐(6):WCF架構

WCF從理論到實踐(7):消息交換模式

WCF從理論到實踐(8):事件廣播

WCF從理論到實踐(9):實例模式和對象生命周期

WCF從理論到實踐(10):異常處理

WCF從理論到實踐(11)-異步

WCF從理論到實踐(12):事務

WCF從理論到實踐(13):事務投票

WCF從理論到實踐(14):WCF解決方案模板

WCF從理論到實踐(15):響應變化

WCF從理論到實踐(16):操作重載(帶視頻+ppt+源碼)

WCF從理論到實踐(17):OO大背離(帶視頻+ppt+源碼)


本文的出發點

通過閱讀本文,能解決如下問題:

  • WCF與以往的分布式技術有何區別?
  • WCF 在安全性方面做了哪些改進?
  • WCF在性能方面有那些改進?
  • WCF開發模型和以往的其他分布式技術有何區別?

    ?

  • 本文適合的讀者

    有過分布式開發和SOA相關實施經驗的開發人員

    ?

    WCF與以往的分布式技術有何區別?

    在上篇文章 WCF從理論到實踐一:揭開神秘面紗 中曾經闡述過WCF的前生今世,說的比較概括,本文詳細的說明WCF和以往的分布式技術的區別,目的是讓大家更詳細的了解WcF的應用場合,為日后系統的架構作鋪墊。首先先看下面這張對比表格

    WCF與其他分布式技術對比表

    ?

    Xml Web Service

    .Net Remoting

    Enterprice Service

    WSE

    MSMQ

    WCF

    跨平臺

    ????

    .Net與.Net通訊

    ?

    ???

    分布式事務

    ??

    ??

    安全可靠性

    ???

    ?

    消息隊列

    ????

    上面的表格參考了Bruchzhang文章中的對比圖,原文地址: http://www.cnblogs.com/wayfarer/archive/2006/04/05/367474.html

    從表格中我們可以看出,WCF似乎等于前面幾項技術之和,但事實并非如此,它既整合了原來的多項技術,而且擁有著自己得天獨厚的優點,如下

    :??
  • 統一性(Integration)
  • 互操作性
  • 安全可靠(Secure and Reliable)
  • 兼容性


  • WCF 在安全性方面做了哪些改進?

    為了保證數據通訊的安全,WCF提供了三種保護措施:1)機密性(Confidentiality)2)完整性(Integrity) 3)可驗證性(Authentication),這三種措施聯合起來被稱為CIA。并且這些措施在WCF中是默認支持的。機密性能保證傳輸的數據是經過加密的,不被非法監聽(eavesdrop),而完整性利用數字簽名技術防止數據在傳輸過程中被注入(injected)或篡改(tampered),而驗證(Authentication)可以采用靈活的策略來處理達到的客戶端請求,比如用戶名密碼驗證,客戶端證書驗證等。為了顯示WCF在安全性方面的特點和優點,我制作了演示程序:Security_Compare方案,這個方案主要通過對比wcf和xml web service的消息來表現wcf在安全方面的改進,工程清單如下:

    ProjectName(項目名稱)

    Remark(備注)

    Wcf

    WCF的服務端程序,默認創建,功能未經修改

    WcfClient

    WCF程序的客戶端,用于調用Wcf

    WebService

    Xml Web Service服務程序,完成功能和Wcf一樣

    WsClient

    是Xml Web Service的客戶端,用于調用WebService

    為了跟蹤Web Service和WCF的消息,我們還需要了解一下兩個工具:

  • Microsoft SOAP Toolkit Version 3 中的 Trace Utility
  • tcpTrace
  • 原來一直用Trace Utilty來跟蹤xml web service的消息報文,非常好用,它能按包顯示出Soap信息,看起來也非常方便。有關它的消息,請從http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en 上下載SOAP Toolkit 3.0,安裝后,便出現了這個工具,在跟蹤xml web service的消息報文的時候,這個工具很好用,但跟蹤wcf的報文卻不行,能截獲到數據,但每個報文都是空的,可能也和wcf報文是經過加密的有關系吧, 搜索了一下,在artech的blog中發現這么一篇文章:[原創]我的WCF之旅(9):如何在WCF中使用tcpTrace來進行Soap Trace,解決了我不能跟蹤wcf消息報文的難題,他也提到Trace Utilty不能跟蹤wcf,同時建議大家使用tcpTrace,并且說明了使用方法,對tcpTrace不熟悉的同學可以到他的blog上學習,很實用,我在這里就不再贅述。

    經過我的跟蹤,我分別將Xml web Service的消息log到ws.txt中,將wcf的消息log到wcf.txt中,您可以從下面的本文相關文件下載中獲取這兩個文件,觀察二者在消息上的不同。用于演示的示例解決方案您也在相關文件下載中獲得。

    ?

    WCF在性能方面有那些改進?

    大家都知道,越復雜,結構層次越多的框架一般效率也越低,WCF是以往其他分布式技術的集成者,它結構相對復雜,且由于默認支持安全傳輸,在性能上應該不如Xml Web Service技術,更不用和.Net Remoting等比較,這是一個有框架設計經驗和架構師們都明白的簡單道理,但是事實怎么樣呢?wcf比xml web service性能到底是高還是底,低要低多少?這些問題很值得大家的研究和討論,其實已經有人在此方面做了很詳細的對比,msdn上便有一篇專門介紹此方面知識的文章: WCF Performance Comparison?,對wcf性能感興趣的同學,可以到這文章中學習。很詳盡。限于條件的限制,我這里只在我一臺機器上作一個簡單的對比,僅供參考。分別測試循環1000次對wcf和xml web service相同功能方法的調用,得到如下的數據:
    ?

    ?

    WCF

    Web Service

    第一次

    9523ms

    7561ms

    第二次

    9480ms

    7465ms

    第三次

    9508ms

    7708ms

    第四次

    9487ms

    7900ms

    經過四次測試數據,我們可以得出,wcf的性能和xml web service相比的確要低,但差別不大,肯定在一個數量級之上。有關測試性能的解決方案Perfermence_Compare您能在相關文件下載中獲得。

    ?

    WCF開發模型和以往的其他分布式技術有何區別?

    WCF不僅僅在功能上集成了以往的分布式開發技術,而且在編程模型中充分吸取原來技術的優點,如xml web service的聲明性編程(declareable),和.net remoting中的配置(configuration)和wse中的安全策略聲明性配置方法,這樣wcf雖然功能強大,而且學習簡單,便于推廣。在vs2008中還集成了WCF Test Client,開發服務的時候,甚至不需要再開發測試客戶端就能用WCF Test Client來進行調用,簡單之極,示例程序更是無需更改以行代碼,便可以運行。

    上面這些是說了wse編程的簡單易學性,我總結出來,主要包括以下幾種特性

  • 基于聲明性編程模型
  • 充分利用配置來實現框架的靈活。
  • 使用配置的同時,仍保留代碼編程的模型,使得框架更加豐富,便于控制。
  • 默認的CIA支持,極大地簡化了安全控制
  • ?

    相關示例文件

  • 安全對比示例解決方案Security_Compare: /Files/jillzhang/Security_Compare.rar
  • 跟蹤soap消息的工具tcpTrace: /Files/jillzhang/tcpTrace.rar
  • 安全對比示例跟蹤結果: /Files/jillzhang/wcf.txt? ,?? /Files/jillzhang/ws.txt
  • 性能測試解決方案Perfermence_Compare: /Files/jillzhang/Perfermence_Compare.rar
  • ?

    示例程序和本文對比測試的平臺依據

    windows xp sp2 + visual studio.net 2008 rtm

    ?

    參考資料

  • [原創]我的WCF之旅(9):如何在WCF中使用tcpTrace來進行Soap Trace
  • WCF Performance Comparison?
  • http://www.cnblogs.com/wayfarer/archive/2006/04/05/367474.html?
  • 轉載于:https://www.cnblogs.com/waw/archive/2011/08/29/2156926.html

    總結

    以上是生活随笔為你收集整理的艾伟:WCF从理论到实践(2):决战紫禁之巅的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。