ОК, поэтому у нас есть что-то, что в настоящее время использует OpenExeConfiguration для чтения конфигурационного файла, однако это не работает при работе в веб-контексте.
Я пробовал различные способы открытия web.config программно, но я не могу заставить его прочитать правильный файл web.config. В случае, если это важно, я в настоящее время отлаживаю его в VS 2008.
1. config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(System.Web.HttpContext.Current.Request.ApplicationPath);
2. config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = "web.config" }, ConfigurationUserLevel.None);
3. config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
4. config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
5. System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath);
Он либо открывает неправильный файл конфигурации (либо конфигурацию машины, либо файл VS/IDE/Web.config), либо жалуется на ошибку:
{System.Configuration.ConfigurationErrorsException: Произошла ошибка при загрузке файла конфигурации: Не удалось сопоставить путь '/'. --- > System.InvalidOperationException: Не удалось сопоставить путь '/'.
Изменить - Итак, комбинация
config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
И работа с Visual Studio 2008, когда работал Администратор. Я надеюсь, что мы не столкнемся с проблемами безопасности/разрешения при развертывании в наших средах веб-сервера и клиента!