本節主要內容:1.如何讀取Binding中的binding元素。2.CustomBinding元素的基本配置。3.代碼示例
一、Bingding是由binding元素構成的,可以根據實際需要,進行適當的選擇進行組合。下面的一段代碼可以幫助你查看Binding中包含的binding元素。

1 NetTcpBinding binding = new NetTcpBinding();
2 foreach (BindingElement element in binding.CreateBindingElements())
3 {
4 Console.WriteLine(element.GetType().FullName);
5 }
查詢到netTcpBinidng的結果如下:
二、對CustomBinding進行配置。如下
服務端:

1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3 <system.serviceModel>
4 <services>
5 <service name="WcfCustomBinding.Host.Services.PersonService">
6 <endpoint address="net.tcp://localhost:6666/personService"
7 binding="netTcpBinding"
8 contract="WcfCustomBinding.Host.Services.IPerson"></endpoint>
9 <endpoint address="net.tcp://localhost:7777/personService"
10 binding="customBinding"
11 bindingConfiguration="personBinding"
12 contract="WcfCustomBinding.Host.Services.IPerson">
13 </endpoint>
14 </service>
15 </services>
16 <bindings>
17 <customBinding>
18 <binding name="personBinding">
19 <binaryMessageEncoding></binaryMessageEncoding>
20 <tcpTransport></tcpTransport>
21 </binding>
22 </customBinding>
23 </bindings>
24 </system.serviceModel>
25 </configuration>
客戶端:

1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3 <system.serviceModel>
4 <client>
5 <endpoint name="Nettcp"
6 address="net.tcp://localhost:6666/personService"
7 binding="netTcpBinding"
8 contract="WcfCustomBinding.Client.Proxys.IPerson">
9 </endpoint>
10
11 <endpoint name="Custom"
12 address="net.tcp://localhost:7777/personService"
13 binding="customBinding"
14 bindingConfiguration="personBinding"
15 contract="WcfCustomBinding.Client.Proxys.IPerson">
16 </endpoint>
17 </client>
18 <bindings>
19 <customBinding>
20 <binding name="personBinding">
21 <binaryMessageEncoding></binaryMessageEncoding>
22 <tcpTransport></tcpTransport>
23 </binding>
24 </customBinding>
25 </bindings>
26
27 </system.serviceModel>
28 </configuration>
三、示例:
本示例采用了netTcpBinding的默認設置和自定義的CustomBinding這兩種方式,而且在客戶端還對其性能進行了簡單的比較。為了更好的比較兩種性能,在客戶端最好能夠多運行幾次進行比較。運行結果如下:其實可以通過更改netTcpBinding的配置文件,達到CustomBinding同樣的性能。
代碼這里下載