【发布时间】:2011-07-27 22:28:04
【问题描述】:
我有一个带有 AddWork() 方法和 WorkDone 事件的 WorkManager 类。 系统的其他组件将调用 WorkManager.AddWork() 并且只应在其工作完成时通知。而不是在每个事件触发时通知每个客户端。
我正在努力寻找一个优雅的解决方案。
谢谢大家!
编辑: 另一种看待这个问题的方法是,假设我有一个名为 JobManager 的类和一个名为 OnWorkDone() 的事件。 我还有 2 个其他班级需要收听此事件。
事件订阅者类 1
WorkManager.OnWorkDone += WorkDoneJob1;
void WorkDoneJob1()
{
print("Job 1 is done!");
}
事件订阅者类 2
WorkManager.OnWorkDone += WorkDoneJob2;
void WorkDoneJob2()
{
print("Job 2 is done!");
}
在此模型中,如果 jobmanager 完成 job1,它将打印“job 1 done”和“job 2 done”,因为所有客户端都会收到事件触发的通知。
我只希望 class1 在其作业完成时收到通知。
【问题讨论】:
-
你能把你当前的代码贴出来让我们看看吗?
-
这是一大堆代码,所以我试图在上面简化它。
-
更新了一些伪
-
这在 Web 应用程序中是行不通的,除非您竭尽全力确保这些对象仍然存在。一旦请求完成,页面就消失了,无法访问。
-
对不起,我之前应该提到更多细节。
标签: c# asp.net events callback