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

时间:2013-05-28 10:47:39

标签: c# arcgis esri

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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