制作维护页面的一种方法是使用IIS的app_offline.htm功能。使用此功能,您将能够向所有用户显示相同的HTML页面,以通知他们有关维护的信息。
stackoverflow上有一个不错的帖子。 ASP.NET 2.0-如何使用app_offline.htm.
您可以做的另一件事是通知您的用户有计划的维护,以便他们也意识到并停止使用该应用程序。
这一切都取决于您需要升级应用程序的时间。如果升级是要上传新文件,而不再需要一两分钟的时间,那么您的用户最有可能看不到它。
题
我在ASP .NET中有一个大型的Web应用程序(在此处不是技术很重要),该应用程序目前没有办法被锁定以进行维护,而无需当前用户失去工作。由于我以前没有实施过这样的事情,因此我想听听开发人员为此操作采取的一些标准预防措施和步骤。
以下是我能想到的一些问题:
该应用程序是数据驱动的,并在业务层实现交易范围。它不使用负载平衡或复制。我可能是错的,但是让BLL处理此操作并不是“正确的”。任何建议或文章的链接将不胜感激。
解决方案
制作维护页面的一种方法是使用IIS的app_offline.htm功能。使用此功能,您将能够向所有用户显示相同的HTML页面,以通知他们有关维护的信息。
stackoverflow上有一个不错的帖子。 ASP.NET 2.0-如何使用app_offline.htm.
您可以做的另一件事是通知您的用户有计划的维护,以便他们也意识到并停止使用该应用程序。
这一切都取决于您需要升级应用程序的时间。如果升级是要上传新文件,而不再需要一两分钟的时间,那么您的用户最有可能看不到它。
其他提示
一个可能有帮助的非答案答案:设计应用程序,以便可以将其透明地升级到其用户。然后,您永远不会拥有用户真正需要担心的维护窗口。无需锁定应用程序,因为一切都在工作。如果交易被删除,则是应用程序中的一个错误,因为有明确要求将应用程序通过正在进行的交易进行升级,因此已对其进行编码以支持该应用程序,并且有一些测试可以验证该功能。
以Netflix为例:是否有锁定的维护窗口?并不是说普通大众知道。 :-)