Silverlight 關於執行緒呼叫的擴充套件方法

2021-09-05 20:19:46 字數 749 閱讀 6866

silverlight 裡需要考慮非同步呼叫的問題,比較麻煩。所以寫了兩個簡單的擴充套件方法。

乙個方法是為了更新 ui 控制項。可以自動在不同的呼叫環境下判斷是否需要 invoke, 從而安全的呼叫控制項相關的方法。

另乙個方法的目的是把任務放到 threadpool 裡去等待後續的非同步執行。

**如下:

using

system.windows;

using

system;

using

system.threading;

public

static

class

threadcallextensions

else

}///

///非同步呼叫

///

///

///

public

static

void

callinbackground(

this

dependencyobject obj, action action));}

} 乙個呼叫示例:

var db 

=createdataaccess();

//this 是當前的 page

this

.callinbackground(

delegate

);});

這樣,可以在呼叫方有效的減少很多因為滿足同步/非同步不同呼叫方式的需要而寫的**。

Silverlight 跨執行緒訪問無效

解決辦法有以下幾種1使用 synchronizationcontext 此方法需要注意的是,system.threading.synchronizationcontext.current必須在ui執行緒中呼叫,如果在子執行緒中,將返回null 雙擊 全選 12 3 4 5 6 7 8 9 10 11...

關於Silverlight安裝問題之三

其實問題二和問題三應該換一下,呵呵 驗證系統要求 請確保您正在執行 與 silverlight 相容的 windows 作業系統和瀏覽器,並且已解除安裝任何以前版本的 silverlight 或 wpf e 名稱 注意 這是 silverlight 的預發布版本,開發人員可使用該版本進行評估。以上是...

關於Silverlight安裝問題之四

如果你在visual studio 2008 orcas中開啟silverlight專案,編譯通不過,並發現圖1的引用列表中的部分類庫不存在,出現 黃 色嘆號,這可能是由於你的silverlight沒有安裝或是安裝的較早期的silverlight1.0版本造成的 如果您確定安裝的是最新的1.1 al...