2010-06-02 24 views
6

我知道在發起操作之前/之後會發生一些事件。控制器運行之前是否有事件?

在調用控制器之前,堆棧中是否有更高的堆棧?

+0

從控制器內部? – SLaks 2010-06-02 20:28:41

+0

控制器外部,在控制器被調用之前在堆棧中更高。 – Blankman 2010-06-02 20:57:26

+0

如果你試圖找出哪個控制器將在運行時被實例化,controllerfactory會有所幫助。如果沒有你想要完成的事例,很難說出你的意思。 – Jab 2010-06-03 14:11:24

回答

9

運行控制器沒有這樣的概念。控制器不運行。它們是實例化的類,並且對它們調用操作(方法)。

您可以使用自定義[ActionFilter]屬性修飾您的控制器操作,您可以在其中覆蓋將在控制器操作調用之前調用的OnActionExecuting。這種技術還可以讓您更好地分離問題。

7

ASP.Net MVC仍然貫穿HttpApplication管道,因此您仍然可以通過向Global.asax添加處理程序來處理從BeginRequestPreRequestHandlerExecute的任何事件。

相關問題