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

詳細(xì)說明WCF線程使用

開發(fā) 后端
WCF線程集包括許多新的和改進(jìn)的用于提高工作效率的功能。IDE 還進(jìn)行了重新設(shè)計(jì),從而向開發(fā)人員提供對.NET Framework 組件的直接訪問。

雖然有許多人對WCF線程表示懷疑,但在年復(fù)一年的不斷發(fā)展中,他的安全性也在不斷提高。保障WCF線程正常運(yùn)行是完全有可能的,但前提是要深入理解到底什么是WCF線程,及他是怎么運(yùn)作的。

對于這些操作,任意創(chuàng)建一個(gè)新的線程來執(zhí)行都是等效的。但是有些情況下,有些操作卻只能在固定的線程下執(zhí)行。比如,在GUI應(yīng)用下,對控件的訪問就需要在創(chuàng)建該控件的線程下執(zhí)行;

或者我們在某個(gè)固定的線程中通過TLS(Thread Local Storage)設(shè)置了一些Context信息,供具體的操作使用,我們把操作和某個(gè)固定的線程的依賴稱為線程關(guān)聯(lián)性(Thread Affinity)。 #t#

對應(yīng)WCF來說,無論是host一個(gè)service,還是在調(diào)用service時(shí)制定callback,在默認(rèn)的情況下,service和callback的操作將自動和當(dāng)前的SynchonizationContext進(jìn)行關(guān)聯(lián)(如何有的話)。

也就是說,如過我們的service被host到Windows Form application下,那么service的操作將在UI 線程下執(zhí)行;同理,如何我們在一個(gè)Windows Forms UI線程下調(diào)用duplex service并制定callback,那么callback的最終執(zhí)行將在UI線程。

關(guān)于WCF線程關(guān)聯(lián)性的控制,可以通過ServiceBehavior或者CallbackBehavior的UseSynchronizationContext屬性進(jìn)行設(shè)定,該屬性默認(rèn)為true,這正式WCF默認(rèn)具有線程關(guān)聯(lián)性的原因。

現(xiàn)在我們來實(shí)現(xiàn)我們的第二套方案:讓Callback的執(zhí)行不必綁定到UI線程。為此我們只需要加上如何的CallbackBehavior attribute就可以了

  1. namespace Artech.ThreadAffinity.Clients  
  2. {  
  3. [CallbackBehavior(UseSynchronizationContext = false)]  
  4. public class CalculateCallback : ICalculateCallback  
  5. {  
  6. public static TextBox ResultPanel;  
  7. #region ICalculateCallback Members  
  8. public void DisplayResult(double result)  
  9. {  
  10. ResultPanel.Text = result.ToString();  
  11. }  
  12. #endregion  
  13. }  
責(zé)任編輯:chenqingxiang 來源: Thread Affinity
相關(guān)推薦

2009-12-07 18:06:46

WCF框架

2009-12-08 17:34:25

WCF的配置

2010-02-26 09:42:52

Python線程池

2009-12-11 10:49:04

Visual Stud

2009-12-28 09:26:09

ADO對象

2010-01-08 10:24:38

轉(zhuǎn)換JSON

2010-02-22 16:26:21

Python編輯

2014-09-16 09:57:56

INotifyProp

2010-02-04 14:41:52

Android菜單類型

2010-02-22 17:54:07

Python工具

2010-07-21 13:17:52

Perl文件讀寫

2010-03-09 10:11:34

Linux掛載命令

2009-12-08 16:09:02

WCF消息

2010-01-07 18:32:38

JSON

2009-12-14 09:47:39

.net2008

2009-12-14 17:57:21

NET 源碼

2010-10-13 14:28:09

mysql日志文件

2010-03-05 14:16:38

Android設(shè)計(jì)平臺

2010-02-04 15:20:50

Android SDK

2009-12-10 16:17:23

Visual Stud
點(diǎn)贊
收藏

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