WCF服務(wù)消息正確查看方式探討
當(dāng)我們想要對(duì)一個(gè)WCF服務(wù)進(jìn)行保護(hù)時(shí),首先要做的就是查看我們所要保護(hù)的服務(wù)消息。那么今天,我們將會(huì)為大家詳細(xì)介紹一下WCF服務(wù)消息的查看這一比較基礎(chǔ)的操作技術(shù),希望可以給大家?guī)?lái)些幫助。#t#
(1)打開(kāi)一個(gè)命令行窗口。
具體步驟:選擇Start | Run菜單項(xiàng),然后輸入CMD并按Enter鍵。
(2)在命令行窗口中,輸入“md c:\logs”并按Enter鍵。
這會(huì)在C:盤(pán)中創(chuàng)建一個(gè)名為logs的目錄。
(3)輸入Exit并按Enter鍵來(lái)關(guān)閉命令行窗口。
(4)回到Visual Studio,在Solution Explorer的DerivativesCalculatorService項(xiàng)目中,右鍵單擊Web.config文件并選擇Open菜單項(xiàng)。
(5)用下面的XML代碼替換web.config文件中的內(nèi)容。
- < ?xml version="1.0" encoding="utf-8" ?>
- < configuration>
- < system.diagnostics>
- < sources>
- < source name="System.ServiceModel.MessageLogging"
switchValue="Verbose">- < listeners>
- < add name="xml”
- type="System.Diagnostics.XmlWriterTraceListener"
- initializeData="C:\logs\message.log" />
- < /listeners>
- < /source>
- < /sources>
- < trace autoflush="true" />
- < /system.diagnostics>
- < system.serviceModel>
- < diagnostics>
- < messageLogging logEntireMessage="true"
- maxMessagesToLog="300"
- logMessagesAtServiceLevel="false"
- logMalformedMessages="true"
- logMessagesAtTransportLevel="true" />
- < /diagnostics>
- < services>
- < service name="DerivativesCalculatorService.Calculator">
- < endpoint address=""
- binding="basicHttpBinding"
- contract="DerivativesCalculatorService.IDerivativesCalculator"/>
- < /service>
- < /services>
- < /system.serviceModel>
- < /configuration>
上面的配置告訴WCF服務(wù)消息的通信以XML格式保存在c:\logs\message.log文件中。
產(chǎn)生日志文件
(6)選擇Build | Build Solution菜單項(xiàng)。
(7)在Solution Explorer中右鍵單擊Client項(xiàng)目并選擇Debug | Start new instance菜單項(xiàng)。
(8)在剛打開(kāi)的Client.EXE命令行窗口中按Enter鍵。我們會(huì)看到客戶程序從運(yùn)行在IIS中的Derivatives Calculator服務(wù)獲得了一個(gè)衍生產(chǎn)品的估計(jì)價(jià)格。
(9)在Client.EXE命令行窗口中按Enter鍵來(lái)關(guān)閉客戶程序
(10)選擇Start | Run菜單項(xiàng),輸入Notepad并按Enter鍵。
(11)在Notepad中選擇File | Open菜單項(xiàng)。
(12)找到C:\Logs\message.log并單擊Open按鈕。
(13)選擇Edit | Find菜單項(xiàng),在Find what文本框中輸入“MSFT”并單擊Find Next按鈕。
我們能夠找到這個(gè)字符串,因?yàn)檫@是客戶程序發(fā)給服務(wù)的消息中用到的股票代號(hào)。這證明了與客戶程序與服務(wù)間的通信是未經(jīng)加密的。
(14)單擊Cancel按鈕來(lái)關(guān)閉Find對(duì)話框。
(15)選擇File | Exit菜單項(xiàng)來(lái)關(guān)閉Notepad。
以上步驟就是WCF服務(wù)消息的查看方法。