【发布时间】:2013-12-29 22:29:27
【问题描述】:
大纲: 我有两个项目。一个项目是Primary,用于GUI 和信息的初级处理。第二个项目次于第一个项目,并在一段时间内完成任务。
启动二级项目:
Thread thread = new Thread(() =>
{
main.MainForm = new MainForm();
main.MainForm.FormClosed += new FormClosedEventHandler(MainForm_FormClosed);
main.MainForm.ShowMainForm();
Application.Run();
});
thread.SetApartmentState(ApartmentState.MTA);
thread.Start();
参考资料: 我在主项目中添加了对辅助项目的引用,以便我可以访问它。
我的问题: 我需要一种方法来报告进度和任何可能出现的问题回到主要项目。当我在另一个线程中启动辅助项目时,我似乎失去了对辅助项目的很多访问权限。
我已尝试参考:
main.MainForm...
这似乎有点问题。
我想知道是否有办法通过某种简单的事件系统来管理我的代码,特别是进度和错误?
对于在这种情况下的最佳实践提供任何帮助和/或想法将不胜感激。
【问题讨论】:
-
引用不起作用,因为通过引用您实际上只引用当前的可执行程序集 (app1) 并且无法访问另一个进程 (app2)。你应该看看进程间通信stackoverflow.com/questions/528652/…
-
“有点问题”不是问题描述!问题描述是:“我想知道是否有办法通过某种简单的事件系统来管理我的代码,特别是进度和错误?”。 Aleksander Toplek 回答了我的问题。 P.S:我没有收到错误,我的辅助应用程序是完全独立的,我只需要它来报告错误和进度。多亏了 Aleksander Toplek,它现在可以完美运行。谢谢冠军!
标签: c# multithreading project-management