У меня есть класс, которому нужно проверить режим аутентификации из файла web.config.
Пример:
<authentication mode="Forms" />
или
<authentication mode="Windows" />
Теперь я знаю, что это можно довольно легко сделать с помощью следующего кода:
AuthenticationSection sec = ConfigurationManager.GetSection("system.web/authentication");
if (sec.Mode == "Windows")
{ ... }
Моя проблема в том, что этот класс / проект упоминается в моем веб-проекте, а также Проект WinForms. Проект WinForms требует .NET 4.0 Client Profile Framework (мы не хотим требовать полную .NET 4 Framework, если это возможно). Если я не ошибаюсь, профиль клиента не содержит System.Web.dll.
Есть ли способ проверить это значение без ссылки на System.Web (и желательно без ручного анализа файла конфигурации)?
]Я пытался:
object authSection = ConfigurationManager.GetSection("system.web/authentication");
if (authSection.ToString() == "Windows")
{ ... }
Однако ToString () просто возвращает строку «System.Web.Configuration.AuthenticationSection».
Спасибо!