我在ASP .NET中有一个大型的Web应用程序(在此处不是技术很重要),该应用程序目前没有办法被锁定以进行维护,而无需当前用户失去工作。由于我以前没有实施过这样的事情,因此我想听听开发人员为此操作采取的一些标准预防措施和步骤。

以下是我能想到的一些问题:

  • 每个页面是否应该重定向到“维护站点进行维护”页面,还是有更中心的方法来防止互动?
  • 如何集中计划的维护,以使用户操作在网站锁定之前锁定。从而防止丧失未得救的工作。

该应用程序是数据驱动的,并在业务层实现交易范围。它不使用负载平衡或复制。我可能是错的,但是让BLL处理此操作并不是“正确的”。任何建议或文章的链接将不胜感激。

有帮助吗?

解决方案

制作维护页面的一种方法是使用IIS的app_offline.htm功能。使用此功能,您将能够向所有用户显示相同的HTML页面,以通知他们有关维护的信息。

stackoverflow上有一个不错的帖子。 ASP.NET 2.0-如何使用app_offline.htm.

您可以做的另一件事是通知您的用户有计划的维护,以便他们也意识到并停止使用该应用程序。

这一切都取决于您需要升级应用程序的时间。如果升级是要上传新文件,而不再需要一两分钟的时间,那么您的用户最有可能看不到它。

其他提示

一个可能有帮助的非答案答案:设计应用程序,以便可以将其透明地升级到其用户。然后,您永远不会拥有用户真正需要担心的维护窗口。无需锁定应用程序,因为一切都在工作。如果交易被删除,则是应用程序中的一个错误,因为有明确要求将应用程序通过正在进行的交易进行升级,因此已对其进行编码以支持该应用程序,并且有一些测试可以验证该功能。

以Netflix为例:是否有锁定的维护窗口?并不是说普通大众知道。 :-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top