代码之家  ›  专栏  ›  技术社区  ›  lance

如果我的ASP.NET webapp不适合运行时?

  •  2
  • lance  · 技术社区  · 14 年前

    我想在我的ASP.NET webapp联机时运行一些测试(最好在任何人尝试访问它之前),以确保我所有的运行时依赖项都像我期望的那样可用。

    什么时候是执行这些测试的好时机(例如,应用程序启动、应用程序初始化、其他地方等),如果测试失败,有什么好方法可以让用户无法使用我的webapp(它与其他我不想影响的应用程序共享一个应用程序池)?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Bob Black    14 年前

    一种方法是将检查放在应用程序启动事件中,并用测试结果更新全局类中的静态属性(或属性)。

    如果您使用的是母版页,那么每个母版页(我个人在项目中从未见过超过2个基本母版类)都可以检查全局类中的静态属性,并在适当时重定向到“应用程序脱机”页。因为静态属性只在应用程序启动时更新,所以不应该有任何性能影响。

    母版页的OnLoad事件中的代码可能如下所示…

    if (!Global.WasDependencyCheckSuccessful)
    {
    //redirect to error page
    }
    

    如果您不使用母版页,这可能不是最佳解决方案(因为您需要单独更新网站中的每个Web表单)。

        2
  •  3
  •   David    14 年前

    您可以将它放在global.asax中的应用程序启动事件中。

    要使应用程序脱机,只需创建一个 App_Offline.htm file . 我在我们的服务器上通过一个“app-offline.html”文件来实现,当我需要将其脱机时,我让代码将其重命名,以将扩展名从.html更改为.htm,然后将其反转,使其重新联机。

    当然,要使它回到网上,你必须从你的网站外的代码来做它,或者手动做它,因为如果文件在那里,你的网站中的代码就不会运行…