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

WCF線程安全性問題有所解決

開發(fā) 開發(fā)工具
WCF線程的安全性一直都是開發(fā)人員所擔(dān)心的問題。不過在技術(shù)不斷創(chuàng)新的背景下,這一問題也有所解決。在這里我們將會做一個詳細(xì)介紹。

WCF開發(fā)工具在開發(fā)領(lǐng)域中占據(jù)著一個比較重要的地位。它的出現(xiàn)可以幫助開發(fā)人員打造一款跨平臺的企業(yè)級解決方案。在這里我們將會通過對WCF線程的了解來更加深入的對這一工具有一個了解。#t#

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

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

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

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

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

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

現(xiàn)在我們來實現(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. }   
  14. }  

以上就是對WCF線程的相關(guān)介紹。

責(zé)任編輯:曹凱 來源: qqread.com
相關(guān)推薦

2015-04-21 10:21:49

2021-10-12 16:11:19

區(qū)塊鏈安全比特幣

2013-04-10 10:54:13

Hadoop大數(shù)據(jù)大數(shù)據(jù)安全

2011-01-10 10:45:09

2009-07-21 08:45:57

Google操作系統(tǒng)Chrome系統(tǒng)安全性

2009-07-21 10:17:06

Chrome操作系統(tǒng)安全性

2018-07-16 15:31:15

2009-11-06 11:10:01

2018-02-27 10:49:53

5G遷移安全

2012-09-29 10:22:36

2023-09-28 08:51:58

Java數(shù)據(jù)

2021-03-18 14:47:42

Jenkins git submodu代碼

2012-10-25 13:57:46

2010-03-11 15:03:47

2012-04-12 11:28:04

2009-12-07 16:48:33

WCF 安全性

2009-12-22 18:52:06

WCF安全性

2010-01-13 11:27:06

C++安全性

2009-09-23 09:19:23

2009-12-29 14:00:43

點贊
收藏

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