As far as I understand, I should use System.Configuration.ConfigurationManager
to read app settings in desktop applications, and System.Web.Configuration.WebConfigurationManager
to do the same thing in web applications. This is what MSDN says.
I am developing a component that will be deployed to both desktops and web servers, so I am trying to make configuration logic independent of the platform. To my surprise, I discovered by accident that app settings are read correctly by using System.Configuration.ConfigurationManager
on a web server.
I have two related questions:
System.Configuration.ConfigurationManager
on web applications?Thanks.
MSDN says that WebConfigurationManager
is the preferred way to work with configuration files in web applications.
In web applications, configuration can be inherited from a web.config file in a parent virtual directory: WebConfigurationManager
will handle such inherited settings properly, which I believe isn't the case for ConfigurationManager
.
Of course, if your application does not inherit such settings (e.g. is always at the root of a web site), this is not relevant to you.