2011-01-29 19 views
0

私は付属のセットアップフォームでMono Webアプリケーションを使用しています。アプリケーションがインストールされているかどうかを検出するために、_INSTALL_LOCKFILE_というマーカーファイルを作成します。存在する場合、プログラムがインストールされていることを伝えることができます(したがって、セットアップはを再度実行することを拒否します))。Webアプリケーションがインストールされていない場合、ユーザーをセットアップスクリプトにリダイレクトします。

私の質問は、セットアップスクリプト( "〜/ Setup/Default.aspx")にユーザをリダイレクトするには初めてですか彼はウェブアプリケーションにアクセスしますか?ユーザーが「空の」アプリケーションを実行しようとすると、彼は間違いなく読めない例外を得るでしょう。

私はHttpApplication.BeginRequestイベントをGlobal.asaxや他のリクエスト関連イベントで使用して、リダイレクトを選択するかどうかを考えました。私はセットアップ/に向けたすべての要求が、すべてをリダイレクトする」と言う場合

私の疑問は、/ *私は確かにApp_Themesに保存され、CSSや画像をダウンロードすることができなくなります

  1. です
  2. 私ではありません

だから、私の質問は、あなたがセットアップスクリップにユーザーをリダイレクトする方法を

あるリダイレクトルールを記述するために自分のWebアプリケーション内のすべてのページを列挙したいですWebアプリケーションがまだ設定されていないことを検出すると、ASP.NETで

答えて

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アプリケーションを再度実行しようとした場合を処理します。 –

+0

あなたのインクルードに 'System.Web'を追加しましたか? –

関連する問題