Winform實現後台推送,資料跨執行緒實時重新整理控制項

2021-08-04 15:57:02 字數 1077 閱讀 9683

用委託事件實現資料實時推送並重新整理頁面,適用於前台和後台松耦合但沒有分布式部署的情況。

2. 首先定義乙個全域性的委託事件

[csharp]view plain

copy

public

class

notice  

}  }  

3. 後台執行緒呼叫messagesend方法

[csharp]view plain

copy

"white-space:pre"

>    

//事件推送,跨執行緒  by zzh 

notice.messagesend(caldatatable);  

4. 在實時重新整理的介面裡註冊委託方法,註冊的數量沒限制

[csharp]view plain

copy

"white-space:pre"

>    

//定義委託用來處理頁面重新整理,因為這是跨執行緒的 by zzh 

public

delegate

void

updatecontrols(datatable dt);  

updatecontrols upd = null

;  private

void

form1_load(

object

sender, eventargs e)  

//這裡呼叫窗體的invoke方法,也就是說用窗體的執行緒執行後台執行緒委託的方法

public

void

onmessagereceived(datatable caldatatable)    

[csharp]view plain

copy

"white-space:pre"

>    

private

void

changelabels(datatable dt)    

如果想要實現分布是部署跨平台,可參考這篇文章

訊息推送後台設計

1 2個維度 自動 手動訊息 點對點 廣播 自動 系統推送,點對點 對個人 比如退款 積分 降價 廣播 對全部客戶或某一類客戶 手動 可選個人 部分客戶 全部客戶 2 針對自動訊息,設定為點對點 廣播,預設對全部客戶,以模板方式新建後,狀態為預設啟用,不用再額外推送啟用,針對手動訊息,以模板方式新建...

Winform之UI後台執行緒

多執行緒,乙個古老的話題,今天我來聊下最基本的執行緒,ui執行緒和後台執行緒。在後台執行緒中直接操作ui控制項會出現異常 執行緒間操作無效 從不是建立控制項 xx 的執行緒訪問它 怎麼解決這個問題那?關鍵點在 和invokerequired屬性,winform的ui 視窗 如下 using syst...

ZK Server Push實現資料主動推送

由於業務部門需要將現有系統的webservice中的利率,鑑於c s客戶端的維護性,因此使用了b s的結構,框架選擇了較為熟悉的zk.主要使用了zk較早的server push技術實現資料的主動推送。由於webservice是基於vb.net開發,這裡的客戶端就偷懶使用了axis2直接生成的方式了 ...