在我的Application_Start方法中,我正在进行一些设置并记录到我的数据库。我有一个问题,我的连接字符串是错误的,这不是什么大问题,但我想在Application_Start()期间验证数据库是否可用,并在用户关闭时向用户报告。
由于httpResponse尚未提供,我无法向浏览器写一些内容。
我还有其他哪些实用选择?
答案 0 :(得分:0)
这是我的建议的快速实施。
修改global.asax以获得公共变量
public class MvcApplication : System.Web.HttpApplication
{
public static bool IsConfigured { get; set; }
如果已配置所有内容,则在离开Application_Start时设置IsConfigured = true
然后添加像这样的ActionFilter
public class ConfiguredAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (MvcApplication.IsConfigured) return;
filterContext.Result = new ViewResult
{
ViewName = "Offline",
TempData = filterContext.Controller.TempData
};
}
}
在共享视图文件夹
中创建离线视图注册新过滤器
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ConfiguredAttribute());
}
}