最近,我遇到了一个项目,要求... 1. 构建一个持续检查网站可用性的 C# 控制台应用程序。2.将网站状态保存在某处,以便不同平台可以访问状态。
控制台应用程序已完成,但我正在努力保存状态的位置。我在想一条 SQL 记录。
您将如何处理保存状态的位置,以便它可扩展、灵活且可用于 x 数量的框架或平台?
更新:看起来我使用带有 RESTful 服务的数据库存储。我还将状态保存到 xml 文件作为服务关闭的后备。
最近,我遇到了一个项目,要求... 1. 构建一个持续检查网站可用性的 C# 控制台应用程序。2.将网站状态保存在某处,以便不同平台可以访问状态。
控制台应用程序已完成,但我正在努力保存状态的位置。我在想一条 SQL 记录。
您将如何处理保存状态的位置,以便它可扩展、灵活且可用于 x 数量的框架或平台?
更新:看起来我使用带有 RESTful 服务的数据库存储。我还将状态保存到 xml 文件作为服务关闭的后备。
您可以创建一个 Web 服务,并且您可能需要在防火墙上打开较少的异常端口来连接到 HTTP 服务器,而不是连接 SQL Server 数据库。您还可以扩展该服务层以比在数据库级别更轻松地添加业务规则。
可以将网站的可用性发布到第二个 Web服务,该服务返回关于所述网站的可用性的 JSON/Xml 结果。这几乎意味着任何能够进行网络服务调用的平台/语言都可以检查网站的可用性。
诚然,这确实会产生单点故障(状态 Web 服务),但不可避免的是,除非您想开始拥有故障转移 Web 服务等,否则无论如何您最终都会遇到这种情况。
您可以将其保存为独立于平台的 XML。然后要共享它,您可以使用 Web 服务器并将其发布到那里。在其他网站上共享网站可用性似乎具有讽刺意味,但就像网站一样,其他类型的服务器/服务也可能会停机。
我想网络服务是最好的选择。只需公开一个 restful api 即可获得带有服务器状态的简单 Json 响应。速度快,资源便宜。