Так что в моем FilterConfig.cs под App_Start, у меня есть этот код:Web.Config изменения не подобран FilterConfig MVC4
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 в своем локальном поле, изменения подбираются, приложение_запись запускается в Global.asax.cs, а FilterConfig добавляет фильтр действий MVC к глобальным фильтрам действий и отлично работает.
Однако, когда я запускаю под Local IIS, изменения получаются из Web.Config, но Application_Start/FilterConfig не запускается снова? Я попробовал переработку приложения, но это не помогло.
То же самое происходит на сервере развертывания. Изменения можно увидеть в разделе «Редактор конфигурации» веб-сайта в IIS, но фильтр действий MVC не добавляется, поскольку записи журнала не выполняются. Никаких исключений не регистрируется в средстве просмотра событий на сервере развертывания. Кто-нибудь сталкивался с этим раньше? Я провел последние 2 часа на этом и никуда не денусь.
Ваше приложение работает в собственной папке с собственным приложением? Что делает «appcmd list site» и «appcmd list app»? (appcmd находится в папке% windir% \ system32 \ inetsrv) – rene
Yup, собственный пул приложений. Выяснил этот вопрос. Мне не удалось найти конфигурационную запись в таблице конфигурации базы данных. Ура! :) – tranceporter