在我自己构建它之前,我只是好奇是否存在这样的工具(免费、开源或商业但价格合理)。
我们正在寻找一种简单的解决方案,以简化在服务器进行维护时使 Web 应用程序联机和脱机的过程。这个想法是我们能够将服务器标记为不可用,然后将所有相关(直接和间接)标记为离线。
我们的第一个概念验证正在运行,我们创建了一个 aspx 页面,其中列出了各种应用程序,这些应用程序具有 App_Offline.html 文件,并在 GridView 中显示友好的“Down for Maintenance”消息。在 GridView 中,每个应用程序都有一个 LinkButton,单击该按钮后,会将 App_Offline.htm 重命名为 App_Offline.html,反之亦然,以使应用程序联机和脱机。
下一步是设置我们所有的依赖项。例如,我们的商店定位器将依赖于我们的 Web 服务,而这些服务又依赖于我们的 SQL Server。(这是一个简单的例子。我们可以很容易地拥有多个层,或者一个应用程序依赖于多个服务器等。)在这个例子中,如果 SQL 服务器出现故障,我们需要递归下钻以找到所有依赖于它的应用程序,然后通过适当地重命名 App_Offline 文件来关闭和打开它们。
我意识到这将是相对简单的构建,但可能是复杂的管理。我相信我们不是第一个想到这个概念的团队,我想知道是否有任何开源工具,或者你们中的任何人是否做过类似的事情并且可以帮助我们避免陷阱。
编辑 - 更新
我找到了我正在寻找的软件类别。它被称为 CMDB -(配置管理数据库),它通常更像是一种网络管理类型的工具,而不是开发人员工具。我在这个类别中发现了一些开源产品,但没有一个是用 .NET 编写的。
当我意识到我正在寻找一个网络管理员类型的工具时,我曾考虑将这个问题移至 ServerFault.com,但由于我正在寻找代码和可修改的解决方案,所以我将把这个问题留在这里。