如何在c# /NET中执行特定threadID上的方法

本文关键字:threadID 方法 执行 NET | 更新日期: 2023-09-27 18:15:36

我想在主(UI)线程上执行一个委托。但是,由于第三方插件(ESRI),我在运行时没有得到该线程。该插件通过XML格式的第三方DLL文件从web应用程序接收消息。奇怪的是,在收到消息后,(ESRI)插件的进一步执行在另一个线程上开始,例如ID = 3。

当我独立运行这个第三方插件时,(比如添加按钮,点击按钮执行进一步的代码)它不会抛出任何异常。在这种情况下,代码在主(UI)线程中执行,如线程ID = 1。

是否有一种方法(在c#中)在所需的线程上执行代码,例如线程ID =1?

注意:由于它是一个第三方插件,我们无法控制任何windows控件/表单。我们甚至不能通过它添加控件

如何在c# /NET中执行特定threadID上的方法

您可以使用它来运行UIThread中的任何代码

Deployment.Current.Dispatcher.BeginInvoke(() => { /* UI code here*/ });