今天本來准備了wcf的三種消息模式 wcf 基礎知識 之 消息交換模式 response/reply oneway deplex 的介紹,但是考慮到里面有說到soap消息,但是可能還有一些朋友對如何查看soap消息還不是很清楚,所以這次先來把如何查看wcf通信的介質--soap消息介紹一下。
其實這個工具的使用非常簡單,可以說如果知道了怎么做那是小學一年級的水平,但是我就曾經在這個一年級還浪費了好一些時間,所以為了避免浪費大家的時間,畢竟程序員的時間不是特別多。
TcpTrace 專業查看wcf通信的工具,使用非常簡單,但是為了演示如何使用這個小工具,以及我們應該注意哪些地方,還是通過一個簡單的例子來描述一下,這樣有圖有真相。
示例程序還是在原來我們一起做的那個示例項目上進行,因為涉及到的知識點很少,所以我們重點說如何使用工具,而把wcf的部分盡量簡潔。
大家請注意我標紅的那部分,那個是我們要使用到的服務地址,一個計算的服務地址。這是wcf服務器端的配置,准確的說這次介紹tcpTrace根本不需要這部分的出現,但是為了連貫性,以及可以讓大家明白我在做什么,所以我還是把它貼出來了。
客戶端的配置才是重點,首先我們定義了客戶端終結點,制定了服務的地址,但是有一點我們需要注意,就是在我們添加了終結點行為的配置,並且我們制定了clientVia的值,clientVia是什么意思呢?我們可以理解成一個轉發地址。也就是說我們如果制定這個clientVia的地址,那么客戶端也會自動轉發到真正的服務地址。這就相當於我們可以指定很多不同的clientVia的值,但是他們都是指向的同一個服務地址,這就會造成一個假象,就是我們創建了很多的服務,工作量很大,但是實際上我們就使用到了一個服務。
clientVia的值的設定是關鍵,這里我們設定它的地址的端口號為8083,而我們實際的服務的地址的端口號為9999.這就是我們在tcpTrace中葯設定的兩個端口號。
監聽端口就是我們在clientVia中設定的端口號,而目標端口號則是實際的服務地址的端口號。當然服務器地址需要我們制定我們服務所在的地址,這里是本機,我們可以指定localhost或127.0.0.1.
tcptrace中的消息就是我們要監聽的soap。我本來准備監聽的是net.tcp,但是這個工具監聽到的結果都是亂碼,所以我最后還是改成了wsDualHttobinding的雙工通信模式。
好了,我這里重點要說的就是客戶端配置行為中的clientvia的設定,只要這個設定好了,我們就可以正常監聽了。其實對於http的監聽,flidder也是可以的,並且我想它的功能可能更強大一些。
賺錢是一種能力,花錢是一種水平,能力可以練,水平是輕易練不出來的。
年輕人不可以太狂。