我正在为我的ASP.NET MVC 4应用程序创建一个运行状况检查页面。当网站管理员点击此页面时(如http //:myapp.com/healthcheck),此页面应检查数据库可用性和应用程序运行状态。数据库启动和运行状态我已通过打开数据库连接检查并检查是否有任何异常。应用程序运行状态(如www.myapp.com),我已通过发送HttpWebRequest请求进行检查。
为此,我添加了新的healthcheck controller / model / cshtml页面。它按预期工作。
问题是,这个新的健康检查页面在同一个应用程序中,所以如果我的应用程序关闭(例如由于错误的路由或web.config中的错误配置或任何其他方式),那么我的健康检查页面也不会加载。您能否建议一个更好的解决方案/架构/解决方案来解决这个问题?
答案 0 :(得分:0)
此健康检查模块应该是不同的虚拟目录/网站。如果在运行原始应用程序的任何位置将其托管在同一服务器中,则运行状况检查模块应在单独的应用程序池下运行。使用HttpClient / HttpWebRequest通过javascript / ajax或从服务器连接原始应用程序。