如果未安装Web应用程序,则将用户重定向到安装脚本

时间:2011-01-29 23:58:01

标签: asp.net web-applications redirect mono installation

我有一个包含安装表单的Mono Web应用程序。为了检测是否安装了应用程序,我创建了一个标记文件_INSTALL_LOCKFILE_,如果存在,它可以告诉程序已经安装(因此安装程序将拒绝再次运行

我的问题是:如何在第一次访问Web应用程序时将用户重定向到设置脚本(“〜/ Setup / Default.aspx”)?如果用户注意运行“空”应用程序,他肯定会得到不可读的异常。

我考虑过在Global.asax或其他与请求相关的事件中使用HttpApplication.BeginRequest事件来选择是否重定向。

我的怀疑是

  1. 如果我说“重定向每个请求但是所有指向/ Setup / *的内容我肯定无法下载CSS和图像,存储在App_Themes
  2. 我不想枚举我的网络应用程序中的所有页面来编写重定向规则
  3. 所以,我的问题是

    当您检测到尚未配置Web应用程序时,如何将用户重定向到ASP.NET中的安装脚本?

1 个答案:

答案 0 :(得分: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将是一个自定义bool方法,用于检查您的锁定文件