2011-07-21 36 views
0

我正在將使用MVC1,Visul Studio 2008和.Net 3.5的應用程序轉換爲MVC3,.Net4 vs2010應用程序。在會話到期時強制註銷,在.Net中不同4

我知道它基本上工作,但我必須執行一些事情才能讓它繼續下去。

要強制註銷當用戶過期我曾經有這樣的代碼在Global.asax.cs中

void Session_End(object sender, EventArgs e) 
     { 
      //Todo make this work with mvc3/.net4 
      //IFormsAuthentication FormsAuth = ObjectFactory.GetInstance<IFormsAuthentication>(); 
      //FormsAuth.SignOut(); 

      //Server.Transfer("~/AccessControl/AdLogin.aspx"); 
     } 

但它轉換爲.NET4/MVC3後不久墜毀,看起來像它的東西一旦依賴不尚未初始化。

我認爲我需要將它移動到一個新的事件,任何想法?如果不是,我該如何在新環境中做到這一點。

+0

我認爲Session_End事件沒有被解僱? – Tocco

+0

會話結束時正在觸發,但MS FormsAuthentication的東西(包裝在IFormsAuthentication中)在註銷被調用時崩潰,並且重定向也崩潰了。 –

回答

0

這是一個醜陋的解決方案,但我最終把它包裝在結構圖異常Try/Catch中,併吞下異常。我真的很想找到一個更好的解決方案,如果有人有。

Cal-