欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

也談TcpTrace跟蹤WCF消息

系統 1684 0

在WCF中一些基于HTTP之上的綁定可以用TcpTrace跟蹤消息。借助此工具可以使我們有機會了解一些功能的工作方式,如可靠性會話在網絡斷開的情況下是如何向服務端發送消息。

TcpTrace的界面非常簡潔,簡潔的有點讓人不知所措。

也談TcpTrace跟蹤WCF消息

Listen on Port:TcpTrace要監聽的本機端口

Destination Server:對TcpTrace監聽的端口的任何訪問都將轉發到目標服務器

Destination Port:對TcpTrace監聽的端口的任何訪問都將轉發到目標服務器的這個端口

如在瀏覽地址欄輸入: http://127.0.0.1:8080 或者 http://localhost:8080 ,將會自動轉發到對 http://www.google.com:80 的訪問,

結果如圖:

也談TcpTrace跟蹤WCF消息

簡單的了解了下TcpTrace如何工作的,下面寫個實例來演示用它如何跟蹤WCF消息。

實體類:

      
using System.ServiceModel;
using System.Runtime.Serialization;

namespace FruitModel
{
[DataContract(Namespace
= " http://www.cnblogs.com/qiuwuyu " )]
public class Fruit
{
private string m_Name;
private string m_Price;
[DataMember]
public string Name
{
get { return m_Name; }
set { m_Name = value;}
}
[DataMember]
public string Price
{
get { return m_Price; }
set { m_Price = value;}
}
}
}

服務契約:

      
using System.ServiceModel;
using FruitModel;
namespace IFruit
{
[ServiceContract(Namespace
= " http://www.cnblogs.com/qiuwuyu " )]
public interface IFruitService
{
[OperationContract]
Fruit GetFruit();
}
}

服務實現:

      
using System;
using FruitModel;
using IFruit;

namespace FruitSvc
{
public class FruitService:IFruitService
{
public Fruit GetFruit()
{
Fruit f
= new Fruit();
f.Name
= " banana " ;
f.Price
= " 6.00 " ;
return f;
}
}
}

寄存服務:

      
using System;
using System.ServiceModel;
using System.ServiceModel.Description;
using IFruit;
using FruitSvc;

namespace FruitHost
{
class Program
{
static void Main( string [] args)
{
using (ServiceHost host = new ServiceHost( typeof (FruitService),
new Uri( " http://localhost:8000 " )))
{
WSHttpBinding binding
= new WSHttpBinding();
binding.ReliableSession.Enabled
= true ;
binding.Security.Mode
= SecurityMode.None;
// 改變地址端口為8080,這樣可以支持服務消息發送到8080端口,8000設置為監聽端口
host.AddServiceEndpoint( typeof (IFruitService), binding, new Uri( " http://localhost:8080/FruitService " ),
new Uri( " http://localhost:8000/FruitService " ));

host.Open();
Console.WriteLine(
" Fruit Service Is Running... " );
Console.ReadLine();
}
}
}
}

客戶端調用:

      
using System;
using System.ServiceModel;
using IFruit;
using FruitModel;

namespace FruitClient
{
class Program
{
static void Main( string [] args)
{
EndpointAddress epAddr
= new EndpointAddress( " http://localhost:8080/FruitService " );
WSHttpBinding wsbinding
= new WSHttpBinding();
wsbinding.ReliableSession.Enabled
= true ;
wsbinding.Security.Mode
= SecurityMode.None;
using (ChannelFactory < IFruitService > factory = new ChannelFactory < IFruitService > (wsbinding, epAddr))
{
IFruitService proxy
= factory.CreateChannel();

Fruit f
= proxy.GetFruit();
if (f != null )
{
Console.WriteLine(
" Name: " + f.Name + " Price: " + f.Price);
}
}
Console.WriteLine(
" Fruit Client Is Running... " );
Console.ReadLine();
}
}
}

可以看到現在客戶端訪問的服務端口為8080,而服務監聽端口為8000,此時,運行程序客戶端將不能夠調用服務,因為服務端不監聽8080端口。可以用TcpTrace做個消息轉發,讓它監聽8080端口,把任何訪問8080端口的消息轉發到8000端口。這樣TcpTrace就有機會捕捉客戶端與服務端的任何通訊消息。可以如下設置TcpTrace

也談TcpTrace跟蹤WCF消息

程序的運行結果如下:

也談TcpTrace跟蹤WCF消息

也談TcpTrace跟蹤WCF消息


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 台湾一级毛片永久免费 | 欧美高清在线视频一区二区 | 第四色播日韩AV第一页 | 一区二区三区福利视频 | 日韩欧美二区 | 伊人亚洲| 奇米777四色影视在线看 | 精品午夜寂寞影院在线观看 | 人人干视频在线观看 | 午夜精品一区二区三区免费视频 | 国产亚洲精品综合在线网址 | 亚洲色婷婷久久精品AV蜜桃久久 | 欧美精品1区2区 | 国产精品国产三级在线专区 | 久久久久琪琪免费影院 | 久久一区二区三区四区 | 不卡一二三区 | 日本黄a | 日日摸夜夜添夜夜添破第一 | 欧美日韩中文字幕一区二区高清 | 日本不卡一区 | 午夜精品一区二区三区免费视频 | 精品久久一区二区 | 久久99精品久久久久久国产越南 | 亚洲娇小性色xxxx | 男女无遮挡高清性视频直播 | www.久久久| 天天干天天操天天舔 | 欧美一区二区三区免费不卡 | 久久无码AV亚洲精品色午夜 | 中文字幕在线一区二区三区 | 欧美在线你懂的 | 国产chinese视频在线观看 | a三级毛片 | 波多野结衣中文字幕2022免费 | 五月婷婷激情第五季 | 香港三级大全 | a级在线观看免费 | 欧美极品在线观看 | 大香萑75久久精品免费 | 亚洲午夜精品国产电影在线观看 |