当第二个应用程序完成某些处理时,我需要在一个应用程序中执行任务。为此,我正在使用事件。
我在每个应用程序中创建了具有相同名称的事件。按名称,我的意思是在创建事件时传递的参数。两个应用程序中的代码如下所示:
using System.Threading;
EventWaitHandle Multi_App = new EventWaitHandle(false, EventResetMode.ManualReset, "Process_Done");
处理后,应用程序“A”通过调用设置此事件
Multi_App.Set()
我希望应用程序“B”应该感觉到这个事件是设置并执行一个特定的功能,比如说App_A_Done()
。到那时它会做一些其他的任务。
我的一个选择是创建一个线程,在那个线程中我将等待事件
Multi_App.WaitOne();
每当它收到事件时,App_A_Done
都会手动调用 Function 。
有朋友告诉我,我“订阅”了这个事件,只要设置了事件,这个函数就会自动执行。所以不需要线程和所有。
我试过但不知道如何订阅此类事件。
这篇MSDN 文章说我可以写
publisher.RaiseCustomEvent += new CustomEventHandler(HandleCustomEvent);
但是我如何将它应用到我的案例中,因为Mutli_App.Set += new....
它给了我错误。
有什么建议么?