Различия в поведении между System.Web.Configuration.WebConfigurationManager и System.Configuration.ConfigurationManager

У меня возникли проблемы на тестовом сервере с веб-сайтом ASP.NET. Я дурачился, и домашний каталог веб-сайта по умолчанию указывал на неправильное место. Когда я попробовал:

ConfigurationManager.ConnectionStrings["connectionString"]; 

он вернул ноль, но

using System.Web.Configuration;

/* ... */

var rootWebConfig =
    WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

rootWebConfig.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString;` 

вернул правильную строку подключения.

Каковы все различия между этими двумя подходами?

РЕДАКТИРОВАТЬ: Что яя действительно спрашиваю, почемуConfigurationManager сбой подхода, когда домашний каталог задан неправильно, но в противном случае это происходит успешно, иWebConfigurationManager удается независимо от того, правильно ли установлен домашний каталог? Есть ли другие различия, такие как предположения об управлении доступом?