日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

WCF系列学习笔记4之绑定详解

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF系列学习笔记4之绑定详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

標(biāo)準(zhǔn)綁定

綁定的基本概念:通道模型具有極大的靈活性,可以在協(xié)議通道,編碼器,傳輸通道等各個(gè)方面進(jìn)行設(shè)置,每次都需要設(shè)置一個(gè)完整的通道棧是一個(gè)較為復(fù)雜的事情,從傳輸協(xié)議上看,有HTTP,TCP,UDP,P2P,IPC和MSMQ等多種方案,從編碼器上,有二進(jìn)制編碼,MTOM等編碼方法,在加上消息的安全策略,會(huì)話(huà)設(shè)置的組合會(huì)有很多。綁定是一個(gè)定制好的通道棧,包含協(xié)議通道,傳輸通道和編碼器,從功能上看,一個(gè)綁定集成了通信模式,可靠性,安全性,事務(wù)傳播和互操作性等設(shè)置,標(biāo)準(zhǔn)綁定一共有十二種,下面將一一介紹。

標(biāo)準(zhǔn)綁定:

綁定名稱(chēng)

簡(jiǎn)要介紹

網(wǎng)絡(luò)協(xié)議

可交互性

basicHttpBinding

基于WS-BasicProfile1.1 的WEB服務(wù)

HTTP/HTTPS

可交互

wsHttpBinding

針對(duì)改進(jìn)的WEB服務(wù)的綁定,包括WS-Security,WS-Transaction

HTTP/HTTPS

可交互

wsDualHttpBinding

提供雙工通信的HTTP綁定

HTTP

可交互

WebHttpBinding

支持REST/POX服務(wù)的綁定,使用XML/JSON序列化

HTTP/HTTPS

可交互

netTcpBinding

使用TCP傳輸協(xié)議在跨主機(jī)的局域網(wǎng)內(nèi)使用,支持可靠性,事務(wù),安全特性,特別優(yōu)化支持WCF系統(tǒng),使用它確保通信雙方都基于WCF構(gòu)建,不符合SOA原則。

TCP

不可交互

netNamedPipeBinding

支持和NetTCpBinding相同的特性,由于使用命名管道進(jìn)行通信,所以通信不同跨主機(jī)

ICP

不可交互

netMsmqBinding

使用微軟MSMQ協(xié)議進(jìn)行異步脫機(jī)的消息交互,

MSMQ

不可交互

netPeerTcpBinding

使用P2P在網(wǎng)絡(luò)中進(jìn)行消息交互

P2P

不不可交互

msmqIntegrationBinding

支持WCF消息和MSMQ消息中進(jìn)行轉(zhuǎn)換

MSMQ

可交互

wsFederationHttpBinding

支持使用了聯(lián)合安全機(jī)制的WEB服務(wù)

HTTP/HTTPS

可交互

Ws2007HttpBinding

支持2007 年設(shè)計(jì)的WS標(biāo)準(zhǔn)

HTTP/HTTPS

可交互

Ws2007federationHttpBinding

為支持2007年制定的ws標(biāo)準(zhǔn)

HTTP/HTTPS

可交互

?

出了功能之外,性能要求也是挑選綁定的重要參數(shù),使用IPC的綁定性能要優(yōu)于使用TCP的綁定,使用TCP 的綁定要由于HTTP。

?

系統(tǒng)部署在同一臺(tái)超級(jí)主機(jī)上,又便于統(tǒng)一管理和備份,WCF-WCF的交互可以分為下列幾種情況1)跨越主機(jī)進(jìn)程交互,2)快越應(yīng)用程序但在統(tǒng)一進(jìn)程內(nèi)交互,3)在統(tǒng)一應(yīng)用程序域內(nèi)交互。

IPC基本概念

IPC是一種通信方法,而非通信協(xié)議。全稱(chēng)是進(jìn)程間通信,在WIN32系統(tǒng)中,主要利用以下幾種方法實(shí)現(xiàn):

1.使用剪貼板,剪貼板可以在進(jìn)程之間共享,并且這種機(jī)制容易理解,使用也方便,缺點(diǎn)是使用非常頻繁,容易產(chǎn)生資源爭(zhēng)用,同時(shí)性能不高。

2. 使用匿名管道和命名管道,管道是進(jìn)程用來(lái)通信的共享內(nèi)存區(qū)域,一個(gè)進(jìn)程相管道重寫(xiě)入信息,而其他的進(jìn)程可以從管道中讀出信息,管道是進(jìn)程之間交流的通道,管道的類(lèi)型有兩種, 匿名管道和命名管道,匿名管道是不命名的,他最初用于在本地系統(tǒng)中父進(jìn)程與他啟動(dòng)的子進(jìn)程之間的通信,命名管道更高級(jí),它有一個(gè)名字表示,以示客戶(hù)段和服務(wù)端應(yīng)用程序可以通過(guò)它進(jìn)行彼此通信,而且,WIN32 管道甚至可以在不同系統(tǒng)進(jìn)程間使用。軟件是連接兩個(gè)進(jìn)程并傳輸數(shù)據(jù),一個(gè)管道一旦被建立,她就可以向文件一樣被訪(fǎng)問(wèn),并且可以使用許多與文件操作同樣的函數(shù),可以使用CreateFile函數(shù)獲取一個(gè)以打開(kāi)的管道句柄,或者由另一個(gè)進(jìn)程提供一個(gè)句柄,使用WriteFile函數(shù)向管道寫(xiě)入數(shù)據(jù),之后這些數(shù)據(jù)可以被另外進(jìn)程使用ReadFile函數(shù)讀取,管道是系統(tǒng)對(duì)象,因此管道句柄不需要時(shí)必須使用CloseHandler函數(shù)關(guān)閉,

3.匿名管道只能單向傳送數(shù)據(jù),而命名管道可以實(shí)現(xiàn)雙向傳送數(shù)據(jù),管道可以比特流形式傳送數(shù)據(jù),命名管道可以將數(shù)據(jù)機(jī)和到成為消息的數(shù)據(jù)塊中,命名管道甚至具有通過(guò)網(wǎng)絡(luò)連接多個(gè)進(jìn)程的能力。

4.使用郵件槽,廣播式通信,在Win32系統(tǒng)中提供的新方法,可以在不同的主機(jī)間交換數(shù)據(jù),實(shí)現(xiàn)了網(wǎng)絡(luò)跨越.

5.使用TCP/IP他具備消息管道的所有功能,但遵守一套通信標(biāo)準(zhǔn)是的不同操作系統(tǒng)之上的應(yīng)用程序可以互相通信,這種方式用于網(wǎng)絡(luò)方面比較好,用于本地進(jìn)程間交互性能較差。

6. 使用COM/DCOM:通過(guò)COM系統(tǒng)代理存根方式進(jìn)行進(jìn)程間數(shù)據(jù)交換,但只能夠表現(xiàn)在對(duì)接口含糊調(diào)用時(shí)傳遞數(shù)據(jù),通過(guò)DCOM可以在不同的主機(jī)間傳送數(shù)據(jù)。 

7.使用內(nèi)存影射文件:系統(tǒng)內(nèi)核內(nèi)存區(qū)域開(kāi)辟一塊內(nèi)存,然后每個(gè)進(jìn)程把每個(gè)內(nèi)存映射到自己可以訪(fǎng)問(wèn)的虛內(nèi)存地址中,對(duì)每個(gè)進(jìn)程說(shuō),似乎在操作系統(tǒng)的格子的內(nèi)存區(qū)域,而實(shí)際上所有的操作被映射到內(nèi)存區(qū)域中。

?

跨主機(jī)的WCF-WCF交互的綁定的地址

當(dāng)服務(wù)器部署在不同的服務(wù)器上,對(duì)于局域網(wǎng)內(nèi)跨主機(jī)的WCF-WCF交互,采用TCP協(xié)議進(jìn)行通信是較為合適的選擇,首先TCP是先面連接的通信協(xié)議,其次處于傳輸層,TCP一般被稱(chēng)為是一種端對(duì)端的協(xié)議,當(dāng)一臺(tái)計(jì)算機(jī)需要與另一臺(tái)計(jì)算機(jī)建立連接時(shí),TCP協(xié)議會(huì)讓他們建立一個(gè)連接,發(fā)送和接收資料以及終止連接,傳輸控制協(xié)議TCP協(xié)議利用重發(fā)技術(shù)和擁塞控制機(jī)制,向應(yīng)用程序提供可靠的通信連接,使他能夠自動(dòng)適應(yīng)網(wǎng)上的各種變化。IP協(xié)議之保證計(jì)算機(jī)能夠發(fā)送和接收分組資料,而TCP協(xié)議則可以提供一個(gè)可靠的,可流控制的,全雙工的信息傳輸服務(wù)。

?

TCP/IP 通過(guò)一個(gè)應(yīng)用程序協(xié)議分配一個(gè)唯一的16位斷口號(hào),從而使用斷口號(hào)來(lái)區(qū)分應(yīng)用程序,例如HTTP通信現(xiàn)在已經(jīng)統(tǒng)一為使用TCP端口80 ,SMTP使用TCP端口25,FTP 使用TCP端口20和21 ,其他使用TCP傳輸協(xié)議的應(yīng)用程序可以按習(xí)慣活遵循標(biāo)準(zhǔn)選擇其他可用的斷口號(hào),防火墻一般會(huì)配置阻塞TCP通信,部署使用非標(biāo)準(zhǔn)端口的應(yīng)用程序進(jìn)程會(huì)因?yàn)榇嬖诠痉阑饓蛡€(gè)人防火墻而變得復(fù)雜甚至無(wú)法實(shí)現(xiàn),通過(guò)已得到允許標(biāo)準(zhǔn)的端口進(jìn)行通信的應(yīng)用程序可以較少外部攻擊,TCP默認(rèn)端口為80 ,在HTTP。SYS模型中,許多不同的HTTP應(yīng)用程序的通信中將多路復(fù)用到單個(gè)TCP端口,此模型以及稱(chēng)為Window平臺(tái)上的標(biāo)準(zhǔn),這可以降低部署程序的成本。但是多個(gè)HTTP應(yīng)用程序共享端口的能力早已成為Internet信息服務(wù)的一個(gè)功能,但是,只有在引入IIS6.0附帶的協(xié)議之后,此基礎(chǔ)結(jié)構(gòu)才完全得到廣泛使用,實(shí)際上,Http.Sys允許任意進(jìn)程共享專(zhuān)用于HTTP通信的TCP端口,此功能可以讓HTTP應(yīng)用程序在統(tǒng)一物理計(jì)算機(jī)上共存于不同的進(jìn)程中,同時(shí)共享80端口發(fā)送和接收所需要的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。

使用netTcpBinding 是唯一能夠使用TCP協(xié)議的使用二進(jìn)制編碼來(lái)提高性能。

?

WebService是一種網(wǎng)絡(luò)服務(wù),通過(guò)通用的規(guī)范,WebService技術(shù)須臾使用者訪(fǎng)問(wèn)網(wǎng)絡(luò)上每一個(gè)WebService提供的服務(wù).Web服務(wù)的消息都是基于Soap協(xié)議進(jìn)行的, 而Soap本身又處于Http/Https協(xié)議之上,所以Soap協(xié)議可以輕松地穿越防火墻,而同時(shí)借助XML的跨平臺(tái)特性, Soap協(xié)議和具體的實(shí)現(xiàn)平臺(tái)完全無(wú)關(guān),Soap協(xié)議是簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議的縮寫(xiě),它致以與提供一個(gè)簡(jiǎn)單,輕量的用于在分散或分布環(huán)境中交換結(jié)構(gòu)化和類(lèi)型信息的機(jī)制,它致規(guī)范對(duì)消訪(fǎng)問(wèn)的方式,而不限制具體實(shí)現(xiàn)的技術(shù)環(huán)境,這意味著Soap協(xié)議是一種跨技術(shù)平臺(tái)的協(xié)議,它一般由四部分組成:Soap信封,Soap編碼規(guī)則,Soap RPc,Soap 綁定。

BasicHttpBinding綁定支持WS-I Basic Web服務(wù),其內(nèi)容包括SOAP1.1,WSDL1.1和消息安全協(xié)議,它提供了和其他系統(tǒng)的兼容性,但是它卻不支持改進(jìn)的Web服務(wù)協(xié)議。

與改進(jìn)的WEB服務(wù)進(jìn)行交互和綁定和地址

與基本的Web服務(wù)相比,改進(jìn)的Web服務(wù)添加安全,身份驗(yàn)證,加密,事務(wù)控制,可靠傳輸?shù)?#xff0c;使得Web的功能更加強(qiáng)大,在改進(jìn)Web服務(wù)的交互場(chǎng)景中,綁定和地址都是選擇的重點(diǎn)。

改進(jìn)Web服務(wù)協(xié)的概述

改進(jìn)Web服務(wù)協(xié)議并沒(méi)有顛覆基本的Web服務(wù),而是在其基本上添加了一系列的WS*協(xié)議,來(lái)支持功能更加豐富的SOAP消息交互,所以從實(shí)現(xiàn)上來(lái)說(shuō),改進(jìn)Web服務(wù)能夠有效地兼容Web服務(wù),

1.?????????????Web-Secirity安全協(xié)議:他的定制是使用應(yīng)用程序構(gòu)建安全的SOAP消息交互,他很靈活,他被設(shè)計(jì)用來(lái)構(gòu)成多種安全模型,他為多安全令牌,多信任域,多簽名格式和多加密技術(shù)提供支持,他通過(guò)利用現(xiàn)有標(biāo)準(zhǔn)和規(guī)范來(lái)實(shí)現(xiàn)安全性,這樣就不必在WS-Security中定義一個(gè)完整的安全性解決方案,從身份驗(yàn)證的角度來(lái)說(shuō):提供了三種方式:1)用戶(hù)名/密碼,2)通過(guò)X.509證書(shū)的PKI,3)KerBerors方式。

2.?????????????WS-Atomic事務(wù)流:在普通的SOAP消息交互中加入事務(wù)處理的能力,改進(jìn)WEB服務(wù)協(xié)議中定義了WS-Atomic事務(wù)流協(xié)議,該協(xié)議建立在WS-Coordination協(xié)議之上,而WS-Coordination定義了激活,注冊(cè)服務(wù),事務(wù)流協(xié)議主要包括兩個(gè)事物協(xié)議:1)完成協(xié)議(completion),完成協(xié)議被用來(lái)啟動(dòng)提交/會(huì)滾流程,基于注冊(cè)協(xié)議的每一個(gè)事物參數(shù)者,事物協(xié)調(diào)者會(huì)先處理易失的兩端提交,在處理持久性的兩端提交,結(jié)果最終被發(fā)送到事物發(fā)起者。2)兩端提交協(xié)議,特別針對(duì)分布式事務(wù)提交的,分為兩個(gè)類(lèi)型,分別為易失兩端提交協(xié)議和持久兩端提交協(xié)議,接受到提交通知后,協(xié)調(diào)者開(kāi)始所有注冊(cè)了易失兩端提交協(xié)議的參與者的提交準(zhǔn)備,所有參與者都必須及時(shí)給出回復(fù),在所有易失兩端提交協(xié)議參與者的提交準(zhǔn)備結(jié)束后,協(xié)調(diào)者將開(kāi)始所有注冊(cè)了持久兩端提交協(xié)議的提交準(zhǔn)備。

3.?????????????WS-ReliableMessaging協(xié)議:他指定的目的是保證消息的可靠傳輸,這里的可靠傳輸精確含義是:1)最多一次,如果沒(méi)有發(fā)生任何錯(cuò)誤,那一條消息最多只會(huì)被發(fā)送一次,2)最少一次:每一條消息必須最少發(fā)送一次。3)有序,所有消息必須被有序地發(fā)送。

?

使用脫機(jī)模式進(jìn)行消息交互和綁定和地址

在某些場(chǎng)景下,消息交互的一方無(wú)法確定另一方是否可訪(fǎng)問(wèn),而在大多數(shù)交互方式中,如果交互一方出于脫機(jī)狀態(tài),交互失敗,脫機(jī)模式是指雙方無(wú)需同時(shí)在線(xiàn)的一種交互模式, 脫機(jī)模式交互在WCF中使用MSMQ來(lái)實(shí)現(xiàn)。

MSMQ是在多個(gè)不同的應(yīng)用程序之間實(shí)現(xiàn)相互通信的一種異步傳輸模式,相互通信的應(yīng)用程序可以分布在相連網(wǎng)絡(luò)中的任意位置,他的實(shí)現(xiàn)原理是消息的發(fā)送者把自己想要發(fā)送的信息放入一個(gè)容器,然或把它保存在一個(gè)系統(tǒng)共用的消息隊(duì)列中,本地或者是異步消息接受程序在從該隊(duì)列中讀取信息。在消息傳遞機(jī)制中,用兩個(gè)比較重要的概念,一個(gè)是消息,一個(gè)是隊(duì)列,消息是通信的雙方所需要的傳輸?shù)男畔?#xff0c;它可以是各式各樣的媒體,消息最終的理解方式,為iaoxichuandi的雙方實(shí)現(xiàn)商定,這樣的好廚師,對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)單的加密,而此采用自己定義的格式可以節(jié)省通信的傳遞量,消息可以含有發(fā)送和接收者的標(biāo)示,只有指定的用戶(hù)能夠看到消息,消息也可以由時(shí)間戳,表明制定時(shí)間內(nèi)未到達(dá)作廢,消息隊(duì)列是發(fā)送和接收消息的公共消息存儲(chǔ)體,可以存在內(nèi)存或無(wú)力文件中,消息可以又兩種發(fā)送方式,快地方式和可恢復(fù)模式,快地方式為了消息的快速傳遞,把消息放在內(nèi)存中,而可恢復(fù)方式擇放在物理磁盤(pán)上,消息隊(duì)列可以放置在發(fā)送方,接受方所在的機(jī)器山個(gè),也可以放在其它位置,MSMQ可以創(chuàng)建以下幾種隊(duì)列:1)公共隊(duì)列,2)專(zhuān)用隊(duì)列,3),管理隊(duì)列,4)響應(yīng)隊(duì)列,系統(tǒng)本身的隊(duì)列有:1)日記隊(duì)列,2)死信隊(duì)列,3)報(bào)告隊(duì)列,4)專(zhuān)用系統(tǒng)隊(duì)列.

轉(zhuǎn)載于:https://www.cnblogs.com/shareExperience/archive/2010/05/29/1746914.html

總結(jié)

以上是生活随笔為你收集整理的WCF系列学习笔记4之绑定详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。