FilterConfig MVC4没有拾取Web.Config更改

时间:2013-12-05 11:33:33

标签: c# asp.net asp.net-mvc asp.net-mvc-4 iis

所以在App_Start下的My FilterConfig.cs中,我有这段代码:

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            var enableFilter = ConfigurationManager.AppSettings["EnableLogActionFilter"];
            if (!string.IsNullOrWhiteSpace(enableFilter)
                && enableFilter.Trim().Equals("true", StringComparison.InvariantCultureIgnoreCase))
            {
                filters.Add(new LogActionFilter());
            }
        }

在Web.Config中,我在AppSettings下有一个条目,我有一个键 EnableLogActionFilter ,可以打开或关闭该功能。

当我在本地方框上通过IIS Express运行网站时,会发现更改,Application_Start会在Global.asax.cs中触发,而FilterConfig会将MVC操作过滤器添加到全局操作过滤器,并且工作正常。

但是,当我在本地IIS下运行时,更改会从Web.Config中获取,但Application_Start / FilterConfig不会再次触发?我试过回收应用程序池,但这没有帮助。

部署服务器上也发生了同样的事情。可以在IIS中的网站的“配置编辑器”部分中看到这些更改,但未添加MVC操作筛选器,因为未创建任何日志条目。在Deployment Server的事件查看器中也没有记录任何异常。有没有人遇到过这个?我花了这么多时间在这上面,并没有到达任何地方。

1 个答案:

答案 0 :(得分:0)

首先,我是一个布偶。然后我发现我在数据库表中缺少一个配置条目,该配置条目作为除配置文件之外的第二个开/关开关。所以现在编写数据库的脚本改变了:)