保護(hù)WCF服務(wù)具體操作步驟剖析
WCF開發(fā)工具可以幫助我們輕松的打造一個(gè)企業(yè)級(jí)的互聯(lián)解決方案。其在安全方面優(yōu)勢(shì)也是比較突出的。我們今天就為大家詳細(xì)介紹一下保護(hù)WCF服務(wù)的相關(guān)方法。其實(shí),只要簡(jiǎn)單地配置一下服務(wù)的綁定,就可以對(duì)服務(wù)進(jìn)行保護(hù)。#t#
wsHttpBinding
WSHttpBinding與BasicHttpBinding相似,但它提供了更多與Web服務(wù)有關(guān)的特性。它使用HTTP傳輸協(xié)議,并提供了消息層級(jí)的加密,這些和BasicHttpBinding一樣。但它還支持事務(wù)處理、可靠消息、WS-Addressing等特性,這些特性要么默認(rèn)情況下就已經(jīng)啟用,要么通過一個(gè)設(shè)定就可以啟用。
保護(hù)WCF服務(wù)操作步驟之配置服務(wù)
(1)回到Visual Studio,打開Web.config,準(zhǔn)備編輯。
(2)將終結(jié)點(diǎn)的綁定屬性從basicHttpBinding改為wsHttpBinding,如下面加亮的代碼所示。
- < ?xml version="1.0" encoding="utf-8" ?>
- < configuration>
- . . .
- < system.serviceModel>
- . . .
- < services>
- < service name="DerivativesCalculatorService.Calculator">
- < endpoint address=""
- binding="wsHttpBinding"
- contract="DerivativesCalculatorService.IDerivativesCalculator"/>
- < /service>
- < /services>
- < /system.serviceModel>
- < /configuration>
保護(hù)WCF服務(wù)操作步驟之配置客戶程序
(3)在Client項(xiàng)目中打開app.config文件,準(zhǔn)備編輯。
(4)刪除endpoint的bindingConfiguration attribute。
(5)將終結(jié)點(diǎn)的綁定從basicHttpBinding改為wsHttpBinding。
(6)需要改動(dòng)的地方如下面加亮的代碼所示:
- < ?xml version="1.0" encoding="utf-8"?>
- < configuration>
- < system.serviceModel>
- < bindings>
- . . .
- < /bindings>
- < client>
- < !-- remove bindingConfiguration attribute -->
- < endpoint
- address="http://localhost/DerivativesCalculatorService/Service.svc"
- binding="wsHttpBinding"
- contract="IDerivativesCalculator"
- name="DerivativesCalculatorConfiguration" />
- < /client>
- < /system.serviceModel>
- < /configuration>
保護(hù)WCF服務(wù)操作步驟之運(yùn)行使用了安全綁定的服務(wù)和客戶程序
(7)選擇Build | Build Solution菜單項(xiàng)。
(8)在Solution Explorer中右鍵單擊Client項(xiàng)目并選擇Debug | Start new instance菜單項(xiàng)。
(9)在剛打開的Client.EXE命令行窗口中按Enter鍵。
(10)客戶程序從運(yùn)行在IIS中的Derivatives Calculator服務(wù)獲得了一個(gè)衍生產(chǎn)品的估計(jì)價(jià)格。
(11)在Client.EXE命令行窗口中按Enter鍵來關(guān)閉客戶程序。
保護(hù)WCF服務(wù)操作步驟之檢查日志文件
除了用notepad來查看message.log文件,我們還可以使用Microsoft Service Trace Viewer,它是專門設(shè)計(jì)用來查看、檢索、過濾和分析WCF跟蹤文件的。
(12)選擇Start | All Programs | Microsoft Windows SDK v6.0A | Tools | Svc Trace Viewer菜單項(xiàng)。
(13)選擇File | Open菜單項(xiàng)并將當(dāng)前目錄切換到C:\logs文件夾。
(14)在File name文本框中輸入message.log并單擊Open按鈕。
(15)選擇Message選項(xiàng)卡。
(16)在Message選項(xiàng)卡中的消息列表中,選擇倒數(shù)第二條消息。
在Service Trace Viewer中選擇倒數(shù)第二條消息
(17)在右下方切換到Message視圖。
(18)查找字符串MSFT。
這一次我們無法找到該字符串。服務(wù)現(xiàn)在已經(jīng)經(jīng)過配置,它會(huì)對(duì)接收和發(fā)送的消息進(jìn)行加密,從而保證消息的內(nèi)容是保密的。到這里就完成了保護(hù)WCF服務(wù)的操作。