当一个项目在另一个线程中启动时,如何从另一个项目访问一个项目

生锈的钉子

大纲:我有两个项目。一个项目是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...

这似乎有点问题。

我想知道是否可以通过某种简单的事件系统来管理我的代码,特别是进度和错误?

在这种情况下,有关最佳做法的任何帮助和/或想法将不胜感激。

生锈的钉子

该答案属于:Aleksandar Toplek-参见上面的说明。

•匿名管道。

匿名管道在本地计算机上提供进程间通信。匿名管道比命名管道所需的开销更少,但提供的服务有限。匿名管道是单向的,不能在网络上使用。它们仅支持单个服务器实例。匿名管道对于线程之间父子进程之间的通信很有用,在创建子进程时,可以轻松将管道句柄传递给子进程。

•命名管道。

命名管道在管道服务器和一个或多个管道客户端之间提供进程间通信。命名管道可以是单向或双工的。它们支持基于消息的通信,并允许多个客户端使用相同的管道名称同时连接到服务器进程。命名管道还支持模拟,该模拟使连接进程可以在远程服务器上使用其自己的权限。

.NET Framework中的管道操作

http://msdn.microsoft.com/zh-CN/library/bb762927(v=vs.110).aspx

如何:使用匿名管道进行本地进程间通信

http://msdn.microsoft.com/en-us/library/bb546102.aspx

AnonymousPipeServerStream类

http://msdn.microsoft.com/zh-cn/library/system.io.pipes.anonymouspipeserverstream(v=vs.110).aspx

AnonymousPipeClientStream类

http://msdn.microsoft.com/zh-cn/library/system.io.pipes.anonymouspipeclientstream(v=vs.110).aspx

一个出色的例子在这里:C#异步命名管道

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在列表中的另一个项目之后添加一个项目?

来自分类Dev

如何从另一个项目列表中过滤一个项目列表?

来自分类Dev

如何从另一个存储在SVN中的项目创建一个项目?

来自分类Dev

基于另一个项目的分支启动一个新的github项目

来自分类Dev

在另一个项目中启动时控制器找不到视图

来自分类Dev

等级:无法从另一个项目访问一个项目中定义的配置

来自分类Dev

等级:无法从另一个项目访问一个项目中定义的配置

来自分类Dev

如何在GCP中从另一个项目的pod访问一个项目的kubernets服务

来自分类Dev

单击微调器项目中的项目时如何启动另一个活动

来自分类Dev

在另一个JComboBox中选择一个项目时如何显示JComboBox

来自分类Dev

单击另一个li项目时隐藏一个li项目

来自分类Dev

添加另一个项目时,无法从另一个线程更新 JProgressBar 的值

来自分类Dev

从另一个项目访问内部类

来自分类Dev

从另一个项目访问PDF文件

来自分类Dev

如何将一个春季项目纳入另一个春季项目

来自分类Dev

如何指定一个项目依赖于另一个项目?

来自分类Dev

如何添加一个项目作为另一个项目的参考

来自分类Dev

我如何使一个枚举项目具有另一个枚举的项目?

来自分类Dev

无法访问一个SourceForge项目,但能够访问另一个

来自分类Dev

无法访问一个SourceForge项目,但能够访问另一个

来自分类Dev

从另一个项目注入FeignClient时出错

来自分类Dev

在显示另一个时隐藏项目

来自分类Dev

如何在另一个项目作为一个模块使用一个项目?

来自分类Dev

从另一个项目编译整个项目

来自分类Dev

Java项目对另一个项目的依赖

来自分类Dev

如何调用另一个项目的活动?

来自分类Dev

如何依赖另一个项目的来源

来自分类Dev

如何从另一个Angular项目加载模块?

来自分类Dev

如何从另一个列表创建项目列表

Related 相关文章

  1. 1

    如何在列表中的另一个项目之后添加一个项目?

  2. 2

    如何从另一个项目列表中过滤一个项目列表?

  3. 3

    如何从另一个存储在SVN中的项目创建一个项目?

  4. 4

    基于另一个项目的分支启动一个新的github项目

  5. 5

    在另一个项目中启动时控制器找不到视图

  6. 6

    等级:无法从另一个项目访问一个项目中定义的配置

  7. 7

    等级:无法从另一个项目访问一个项目中定义的配置

  8. 8

    如何在GCP中从另一个项目的pod访问一个项目的kubernets服务

  9. 9

    单击微调器项目中的项目时如何启动另一个活动

  10. 10

    在另一个JComboBox中选择一个项目时如何显示JComboBox

  11. 11

    单击另一个li项目时隐藏一个li项目

  12. 12

    添加另一个项目时,无法从另一个线程更新 JProgressBar 的值

  13. 13

    从另一个项目访问内部类

  14. 14

    从另一个项目访问PDF文件

  15. 15

    如何将一个春季项目纳入另一个春季项目

  16. 16

    如何指定一个项目依赖于另一个项目?

  17. 17

    如何添加一个项目作为另一个项目的参考

  18. 18

    我如何使一个枚举项目具有另一个枚举的项目?

  19. 19

    无法访问一个SourceForge项目,但能够访问另一个

  20. 20

    无法访问一个SourceForge项目,但能够访问另一个

  21. 21

    从另一个项目注入FeignClient时出错

  22. 22

    在显示另一个时隐藏项目

  23. 23

    如何在另一个项目作为一个模块使用一个项目?

  24. 24

    从另一个项目编译整个项目

  25. 25

    Java项目对另一个项目的依赖

  26. 26

    如何调用另一个项目的活动?

  27. 27

    如何依赖另一个项目的来源

  28. 28

    如何从另一个Angular项目加载模块?

  29. 29

    如何从另一个列表创建项目列表

热门标签

归档