2011-01-29 20 views
0

我有一個包含安裝表單的Mono Web應用程序。爲了檢測應用程序是否安裝,我創建了一個標記文件_INSTALL_LOCKFILE_,如果存在,它能夠告訴程序已安裝(並且安裝程序將拒絕再次運行)。如果未安裝Web應用程序,將用戶重定向到安裝腳本

我的問題是:我如何將用戶重定向到安裝腳本(「〜/ Setup/Default.aspx」)第一次他訪問Web應用程序?如果用戶試圖運行「空」應用程序,他肯定會得到不可讀的異常。

我曾考慮在Global.asax中使用HttpApplication.BeginRequest事件或其他請求相關事件來選擇是否重定向。

我的疑惑是

  1. 如果我說「重定向每一個被定向到/設置這一要求,但所有/ *我肯定會無法下載CSS和圖像,存儲在App_Themes文件
  2. 我不會想枚舉所有的網頁在我的web應用程序寫入重定向規則

所以,我的問題是

你如何將用戶重定向到一個安裝憑證在ASP.NET中檢測到該Web應用程序尚未配置完畢後,該怎麼辦?

回答

1

縱觀應用程序的生命週期,我想我更願意把這樣的方法在Application_Start方法

http://msdn.microsoft.com/en-us/library/ms178473.aspx

protected void Application_Start() 
{ 
    if (!MyLockedFileExists()) { 
     HttpContext.Current.Response.Status = 「302 Found」; 
     HttpContext.Current.Response.AddHeader(「Location」, 「http://www.newlocation.com/newwebpage.aspx」); 
    } 

} 

注:MyLockedFileExists將是一個自定義的布爾方法檢查你的鎖文件

+0

理論上,這是一個好主意,但我在過去遇到過問題。我在Application_Start期間沒有收到HttpContext。此外,BeginRequest處理用戶未完成設置並嘗試再次運行Web應用程序的情況... – 2011-01-30 00:06:11

相關問題