C#-Pipeline风格的事件模型 [英] C# -Pipeline Style event model
问题描述
在ASP.NET Web应用程序,事件在particluar顺序触发:
In ASP.NET Web Apps , events are fired in particluar order :
为了简单起见,加载=>验证=>回传=>渲染
假设我想开发这种管道-styled事件
Suppose I want to develop such pipeline -styled event
例如:
事件1 [Audiance都在收集,伙计们{事件2和事件3请等待,直到i信号}]
Event 1 [ "Audiance are gathering" ,Guys{ Event 2 and Event 3 Please wait until i signal }]
$ b $后b事件1完成了它的任务
事件2 [{事件2,事件3Audiance云集!我的任务已经结束} ]
Event 2 [ { Event 2, Event 3 "Audiance gathered! My task is over } ]
事件2接管控制来执行它的任务
事件2 [Audiance都记录在事件3请等待i信号]
Event 2 [ " Audiance are Logging in " Event 3 please wait until i signal ]
后,事件2完成了它的任务
......
事件3 [演示通过乔恩斯基特超过:)]
Event 3 [ "Presentation By Jon skeet is Over :) "]
通过非常简单的例子可以任何人解释,我如何设计呢?
With very basic example can anybody explain ,how can i design this ?
推荐答案
一个非常简单的解决方案,这也是近究竟在ASP.NET情况:
A very simple solution, that is also close to what actually happens in ASP.NET:
class EventChain
{
public event EventHandler Phase1Completed;
public event EventHandler Phase2Completed;
public event EventHandler Phase3Completed;
protected void OnPhase1Complete()
{
if (Phase1Completed != null)
{
Phase1Completed(this, EventArgs.Empty);
}
}
public void Process()
{
// Do Phase 1
...
OnPhase1Complete();
// Do Phase 2
...
OnPhase2Complete();
}
}
这篇关于C#-Pipeline风格的事件模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!