自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一點通分析WCF Stream對象

開發(fā) 后端
WCF隨著不斷的進步,WCF Stream對象的性能也不斷的提高,文章主要介紹了Stream對象的基本操作,希望對大家有幫助。

WCF還是比較常用的,于是我研究了一下WCF Stream對象,在這里拿出來和大家分享一下,希望對大家有用。由于Stream操作受到綁定的限制,只能使用BasicHttpBinding,NetTcpBinding以及綁定,因此必然會影響服務(wù)實例的激活類型,最主要的是對Session模式的影響。首先BasicHttpBinding并不支持Session模式的激活類型。NetTcpBinding以及NetNamedPipeBinding綁定雖然支持Session模式,但是由于WCF Stream對象操作不支持可靠消息傳遞,即不能將ReliableSession設(shè)置為true。因此在定義服務(wù)契約的SessionMode時,不能將其值設(shè)置為SessionMode.Required,否則會拋出異常。

#T# WCF Stream對象操作(指TransferMode不為Buffered)本身并不支持Session模式。即使我們在使用NetTcpBinding時,將服務(wù)契約的SessionMode設(shè)置為Allowed,并將服務(wù)的InstanceContextMode設(shè)置為PerSession,服務(wù)的執(zhí)行方式仍然是PerCall方式。(如果不是Stream操作,這樣的設(shè)置服務(wù)應(yīng)為PerSession模式)因此,在執(zhí)行Stream操作時,即使按照Session模式對服務(wù)進行設(shè)置,如果我們通過OperationContext.Current.SessionId去獲得會話ID,其值應(yīng)該為空。

此外,由于傳輸?shù)腟tream對象較大,可能會消耗過長的時間,因而建議增大綁定的SendTimeout屬性值。例如設(shè)置為10分鐘。編程方式設(shè)置為:

  1. binding.SendTimeout=TimeSpan.FromMinutes(10); 

配置文件的設(shè)置方式為:

  1. <binding……sendTimeout="00:10:00"/> 

注意,對綁定的相關(guān)設(shè)置必須要求服務(wù)端與客戶端的配置一致。***實踐是均通過配置文件進行設(shè)置。例如在我的應(yīng)用程序中是這樣設(shè)置的:

  1. <basicHttpBinding> 
  2. <bindingnamebindingname="DocumentExplorerServiceBinding" 
  3. sendTimeout="00:10:00" 
  4. transferMode="Streamed" 
  5. messageEncoding="Text" 
  6. textEncoding="utf-8" 
  7. maxReceivedMessageSize="9223372036854775807"> 
  8. </binding> 
  9. </basicHttpBinding> 
責任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-05 14:47:35

WCF Stream對

2009-11-06 10:54:19

WCF服務(wù)方式

2009-12-15 14:27:30

Ruby存取器

2009-11-05 15:00:26

WCF Stream

2009-11-03 09:09:19

VB.NET類

2009-12-31 13:45:13

Silverlight

2009-12-15 10:31:30

Ruby rails頁

2009-12-24 17:10:42

WPF動畫類

2009-10-22 09:29:23

CLR是什么

2009-11-06 16:35:56

WCF Stream對

2009-11-02 16:30:29

VB.NET構(gòu)造器

2009-12-17 09:14:14

Ruby on Rai

2009-10-28 14:30:16

VB.NET RmDi

2009-11-06 13:33:56

WCF Dispatc

2009-11-10 17:04:29

VB.NET基礎(chǔ)知識

2009-11-04 14:37:40

ADO.NET XML

2017-09-27 13:42:42

數(shù)據(jù)庫MySQL斷電恢復(fù)

2010-01-04 19:22:49

Silverlight

2009-12-17 10:29:46

Cisco路由器

2009-10-26 10:12:14

VB.NET操作MsA
點贊
收藏

51CTO技術(shù)棧公眾號