Różnice w zachowaniu między System.Web.Configuration.WebConfigurationManager a System.Configuration.ConfigurationManager
Miałem pewne problemy na serwerze testowym z witryną ASP.NET. Poszukałem go, a katalog domowy domyślnej witryny wskazał niewłaściwe miejsce. Kiedy próbowałem:
ConfigurationManager.ConnectionStrings["connectionString"];
zwrócił wartość null, ale
using System.Web.Configuration;
/* ... */
var rootWebConfig =
WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
rootWebConfig.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString;`
zwrócił prawidłowy ciąg połączenia.
Jakie są różnice między tymi dwoma podejściami?
EDIT: Naprawdę pytam, dlaczegoConfigurationManager
Podejście nie powiedzie się, gdy katalog domowy jest niepoprawnie ustawiony, ale w przeciwnym razie się powiedzie, iWebConfigurationManager
udaje się niezależnie od tego, czy katalog domowy jest poprawnie ustawiony? Czy są jakieś inne różnice, takie jak założenia dotyczące kontroli dostępu?