日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
WCF單向操作不同于異步操作

WCF有一種比較基礎(chǔ)的應(yīng)用機(jī)制,就是“請(qǐng)求-應(yīng)答操作”。那么,今天我們將會(huì)針對(duì)這一機(jī)制中的WCF單向操作進(jìn)行一個(gè)詳細(xì)的介紹,希望大家可以通過這里介紹的內(nèi)容能夠充分的掌握群毆這方面的內(nèi)容。

WCF單向操作沒有返回值。單向操作不同于異步操作,雖然單向操作只是在發(fā)出調(diào)用的瞬間阻塞客戶端,但如果發(fā)出多個(gè)單向調(diào)用,WCF會(huì)將這些調(diào)用放入隊(duì)列。隊(duì)列存儲(chǔ)調(diào)用的個(gè)數(shù)是有限的,一旦發(fā)出的調(diào)用個(gè)數(shù)超出了隊(duì)列存儲(chǔ)調(diào)用的設(shè)置值,則會(huì)發(fā)生阻塞現(xiàn)象,因?yàn)檎{(diào)用無法放入隊(duì)列。當(dāng)隊(duì)列的請(qǐng)求出列后,產(chǎn)生阻塞的調(diào)用就會(huì)放入隊(duì)列,并解除對(duì)客戶端的阻塞。

設(shè)置單向操作的方法是利用OperationContract特性的IsOneWay屬性,例如:

 
 
 
  1. [ServiceContract]   
  2. interface IMyContract   
  3. {   
  4. [OperationContract(IsOneWay = true)]   
  5. void MyMethod( );  
  6. }  

被設(shè)置為WCF單向操作的方法不能包含返回值,即它的返回值只能為void,否則會(huì)拋出InvalidOperationException異常。 #t#

在會(huì)話契約中雖然允許定義單向操作,但由于單向操作無法正確地維持狀態(tài),因而,單向操作的***適用場(chǎng)景是在單調(diào)服務(wù)或單例服務(wù)中。“如果在會(huì)話契約中定義了單向操作,就必須保證單向操作是終止會(huì)話的***一個(gè)操作(該操作必須遵循單向操作的規(guī)定,例如返回void類型值)。這可以通過分步操作來實(shí)現(xiàn)。”

單向操作如果拋出異常,則視其服務(wù)模型以及使用綁定的不同,會(huì)產(chǎn)生不同的結(jié)果。以下內(nèi)容假定服務(wù)不會(huì)拋出FaultException異?;蛘咚淖宇悺?/p>

綁定WCF單向操作

BasicHttpBinding綁定,客戶端不受影響 ;

不包含可靠消息傳輸與安全的WSHttpBinding綁定,客戶端不受影響;

具有安全性的WSHttpBinding綁定 通道錯(cuò)誤, 客戶端無法繼續(xù)發(fā)出調(diào)用 ;

不包含可靠消息傳輸?shù)腘etTcpBinding或NetNamedPipeBinding綁定,通道錯(cuò)誤,客戶端無法繼續(xù)發(fā)出調(diào)用;

具有可靠消息傳輸?shù)腤SHttpBinding綁定或NetTcpBinding綁定,客戶端不受影響。

如果是在會(huì)話服務(wù)中,則單向操作拋出的異常都會(huì)影響到客戶端,只不過如果使用的綁定不相同,則拋出的異常會(huì)有所區(qū)別。

對(duì)于WCF單向操作而言,無會(huì)話的單例服務(wù)與單調(diào)服務(wù)相似,具有會(huì)話的單例服務(wù)則與會(huì)話服務(wù)相似。


本文題目:WCF單向操作不同于異步操作
文章轉(zhuǎn)載:http://www.5511xx.com/article/dphojio.html