2
我遇到了一個場景,我的控制器上有一些初始化代碼,可能會識別出需要某些用戶交互的無效狀態。從Initialize()中取消控制器動作
因爲,如果發生這種情況,我想將客戶重定向到其他頁面/操作。由於我不希望最初的操作在我遇到這種無效狀態時運行,我想要取消包括操作在內的整個請求。
這可能嗎?我們發現解決這個問題的一種方法是使用一個從Context.Items中讀出的過濾器,它是否應該取消這個動作,但是還有另一種更簡單的方法嗎?
我實際上在做一個Response.Redirect(這是我所假設的IResponseAdapter),你是說隱含地中止線程嗎?請問這也繞過Controller.Dispose(),這對我來說是一件壞事... – jishi 2010-09-07 14:56:40
@jishi:IIRC Monorail的Response.Redirect只記錄重定向並設置一個標誌,實際上處理管道末尾的重定向,而「真正的」HttpContext Response.Redirect拋出並不執行任何其他代碼。 – 2010-09-07 16:13:43
@jishi:關於Controller.Dispose(),試試看,並讓我知道:) – 2010-09-07 16:14:09