Должно быть простым, но независимо от того, что я пробую пустой указатель возвратов:
const string key = "system.web";
var sectionTry1 = WebConfigurationManager.GetSection(key);
var sectionTry2 = ConfigurationManager.GetSection(key);
Я уверен, что сделал это прежде.
Я использую MVC, если это имеет значение.
Был идиотом - system.web это не раздел конфига, а группа конфига. Если я меняю ключ на реальную секцию, то оба метода работают нормально. Вот один из них, использующий ConfigurationManager:
const string outputCacheSettingsKey = "system.web/caching/outputCacheSettings";
var outputCacheSettingsSection = ConfigurationManager.GetSection(outputCacheSettingsKey) as OutputCacheSettingsSection;
Я думаю, что доступ к system.web немного отличается от доступа к appSettings.
Попробуйте так:
string configPath = "/MyAppRoot";
Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);
IdentitySection section = (IdentitySection)config.GetSection("system.web/identity");
Вам нужно привести соответствующий раздел system.web, к которому вы пытаетесь получить доступ, к определенному типу.