变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

東坡下載:內(nèi)容最豐富最安全的下載站!

首頁(yè)編程開(kāi)發(fā)VC(VC++) → 如何在WCF中用TcpTrace工具查看發(fā)送和接收的SOAP消息

如何在WCF中用TcpTrace工具查看發(fā)送和接收的SOAP消息

相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站時(shí)間:2010/10/14 9:36:06字體大小:A-A+

更多

作者:東坡下載點(diǎn)擊:7018次評(píng)論:1次標(biāo)簽:

      WCF對(duì)消息加密(只對(duì)消息加密,不考慮Authorize)其實(shí)很簡(jiǎn)單,只要在server和client端的binding加入security mode為Message(還有Transport, TransportWithMessageCredential,關(guān)于他們的不同之處,請(qǐng)參考MSDN)即可。

      以一個(gè)簡(jiǎn)單的例子說(shuō)明,這個(gè)例子只有一個(gè)Greeting方法,回顯客戶端的輸入,如客戶端輸入"WCF",調(diào)用service的Greeting方法后回顯"Hello,WCF!"。我這里server端的配置文件如下:

 Client端沒(méi)有使用配置文件,直接在代碼中編寫(xiě),但要與server端一致:

var binding = new WSHttpBinding();
binding.Security.Mode
= SecurityMode.Message;

      當(dāng)我們對(duì)消息加密后,如果想查看一下是否真的加密,就要用到一個(gè)工具TcpTrace,這是一個(gè)可以跟蹤SOAP消息的很好用的工具。也可以應(yīng)用于web service的消息查看,因?yàn)槎际荢OAP消息格式。這個(gè)工具的官方網(wǎng)站下載地址:http://www.tcptrace.org/download.html。不需要安裝,下載后直接運(yùn)行。

      這個(gè)工具的原理就是開(kāi)一個(gè)偵聽(tīng)端口,用于偵聽(tīng)Client端發(fā)送的數(shù)據(jù),當(dāng)Client發(fā)出一個(gè)Soap消息后,先把Soap攔截下來(lái),進(jìn)行Soap跟蹤處理(如顯示Soap消息,或記入log等)之后再把Soap消息傳到真正的Service。所以我們需要配置兩個(gè)port,一個(gè)是偵聽(tīng)端口,一個(gè)是目標(biāo)端口,也就是service端口。如下圖:

 點(diǎn)擊OK就進(jìn)入工作狀態(tài)了。

     但是為了能讓TcpTrace偵聽(tīng)到Client端發(fā)出的消息,我們要在Client端做些工作,需要一個(gè)特殊的Client端的Endpoint Behavior:ClientViaBehavior。假設(shè)tcpTrace進(jìn)行偵聽(tīng)的Port為8081, 那么Client實(shí)現(xiàn)了ClientViaBehavior的代碼如下,當(dāng)然也可以在配置文件中直接添加。

var binding = new WSHttpBinding();
binding.Security.Mode
=
SecurityMode.Message;

//Encrypt, can check with Tcp Trace

binding.Security.Mode = SecurityMode.Message;
//
Not encrypt
//binding.Security.Mode = SecurityMode.None;


var factory
= new ChannelFactory<IHelloService>(
    binding,
new EndpointAddress("http://localhost:8080/HelloService"
));

//Add listening port only at client.

Uri tcpTraceUri = new Uri("http://localhost:8081/HelloService");
factory.Endpoint.Behaviors.Add(
new
ClientViaBehavior(tcpTraceUri));

var proxy
=
factory.CreateChannel();
var result
= proxy.Greeting("WCF Message");

 注意代碼中的8081端口,作為behavior加入到endpoint中。這個(gè)behavior只在Client端的endpoint中加,server端不需要。

 然后就可以啟動(dòng)TcpTrace了,界面如下:

 我們先來(lái)看一下TcpTrace跟蹤的不加密的Soap消息,即Client端的binding SecurityMode為None的情況:

 可見(jiàn)消息是明碼的。我們?cè)賮?lái)看一下加密后的情況,即Client端的binding SecurityMode為Message的情況:

 可見(jiàn)消息都是加密過(guò)的,從而保證了消息的安全性。當(dāng)然還可以加入用戶認(rèn)證,交換證書(shū)等安全性機(jī)制,這個(gè)例子只是說(shuō)明如何使用TcpTrace來(lái)跟蹤Soap消息,所以只做了加密部分。

相關(guān)評(píng)論

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過(guò)難過(guò)
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無(wú)聊無(wú)聊
熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(1)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)
主站蜘蛛池模板: 免费欧美一级 | 日本国产视频 | 无遮羞成人的动漫在线观看 | 视频国产精品丝袜第一页 | 最近免费中文字幕大全免费 | 精品午夜寂寞黄网站在线 | 欧美一级看片免费观看视频在线 | 亚洲精品 国产 日韩 | 伊人久久大香焦 | 天天夜碰日日摸日日澡 | 午夜视频在线免费观看 | 日韩欧美一区二区久久 | 日本一本一区二区 | www.黄色免费 | 天天爱天天干天天 | 欧美理伦 | 嗯男人边吃奶边做边爱视频 | 成人精品| 亚洲性生活视频 | 国产精品久久久久9999高清 | 日本人成18在线播放 | 欧美日韩免费一区二区三区 | 亚洲国产精久久久久久久春色 | 免费视频网站在线观看黄 | 欧美最猛性xxxxx短视频 | 国精产品一区一区三区 | 日日摸夜夜添夜夜添特色大片 | 一个人看的视频免费观看www | 日韩在线小视频 | 成熟女人免费一级毛片 | 久免费视频 | 日韩免费中文字幕 | 午夜18 | 国产小视频在线免费观看 | 新午夜影院 | 亚洲精品高清久久 | 黄片a级毛片 | 亚洲精品国产成人中文 | 久久久国产一区二区三区 | 国产成人ay手机在线观看 | 丁香激情五月 |