2012-01-09 52 views
0

说我有控制器如下:处理从服务多个活动的控制器上

public class Controller 
{ 
    ISomeService _service; 

    public Controller(ISomeService service) 
    { 
     _service = service; 
     _service.EventFired += EventFired; 
     _service.SomeEventFired += SomeOtherEventFired; 
    } 

    private void EventFire(object sender, EventArgs e) 
    { 
     // Might occur on FireSomeEvents(); 
     // Go to another controller 
    } 

    private void SomeOtherEventFired(object sender, EventArgs e) 
    { 
     // Might occur on FireSomeEvents(); 
     // Go to another view on this page 
    } 

    public void Create() 
    { 
     _service.FireSomeEvents(); 

     if(EventFired == true) 
     { 
      return View("EventFired"); 
     } 
     else 
     { 
      return RedirectToAction("SomeOtherEventFired"); 
     } 
    } 
} 

我希望能够处理重定向和视图以更好的方式,因为在最后,我将结束与我的服务3个潜在的事件。

我只是想知道这是否是一个设计的气味,或是否有执行重定向页面更好的办法...

回答

1

活动不与ASP.NET MVC发挥很好。他们的模型不适应MVC模式。如果你想使用它们,你可以看看asynchronous controllers