Click here to Skip to main content
15,888,610 members
Articles / Web Development / ASP.NET
Article

Access Web.Config application settings from a console or Windows application

Rate me:
Please Sign up or sign in to vote.
4.04/5 (8 votes)
30 Jun 2004 113.3K   820   23   18
Example of how to read web.config settings into a console or Windows application.

Sample screenshot

Introduction

This code provides an easy to use mechanism for reading AppSettings values from the Web.Config in non web based environments. Additionally there is a very simple form that demonstrates the code being used.

Background

I have worked on many solutions that have comprised of Web projects together with Console or Windows applications. Often the need has arisen for the non web components to be able to read values from the Web.Config file (particularly in automated testing environments) so I wrote a class to simplify this and present it here.

Using the code

The code is designed to be very close in syntax to the usual method used for accessing web.config from a web app. Pass the constructor the location of the web.config file you wish to parse and then use the AppSettings method to obtain the desired value; an exception will be thrown should it not be found

C#
string filename = @"c:\temp\Web.Config"; 
UK.Org.Webman.ConfigurationSettings ConfigurationSettings = 
    new UK.Org.Webman.ConfigurationSettings(filename); 
string PrimaryDatabase = ConfigurationSettings.AppSettings["PrimaryDatabase"];

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior)
United Kingdom United Kingdom
A .net devotee specialising in Object Orientated web development for financial institutions in Europe. When not working can normally be found at a bar within walking distance of the office.

Comments and Discussions

 
QuestionGreat utility! Pin
search0010-Jan-12 8:35
search0010-Jan-12 8:35 
GeneralExactly the type of think I was searching for ... Pin
yordan_georgiev24-Jun-09 1:12
yordan_georgiev24-Jun-09 1:12 
GeneralThis was helpful to me, I had a custom web.config and I was able to extend this class easily to pull various things, helped a bunch. Thanks! Pin
jollyGreenGiant_0211-Feb-09 10:34
jollyGreenGiant_0211-Feb-09 10:34 
GeneralSelectSingleNode does not work Pin
VOJTADOHNAL27-Oct-06 8:06
VOJTADOHNAL27-Oct-06 8:06 
AnswerRe: SelectSingleNode does not work Pin
Xymie1-Dec-08 2:06
Xymie1-Dec-08 2:06 
GeneralUpdate: For Multiple Reads Pin
XtreemZ26-Jan-06 11:40
XtreemZ26-Jan-06 11:40 
GeneralCode Doesn't Work Pin
Ozzie6-Apr-05 5:51
Ozzie6-Apr-05 5:51 
GeneralRe: Code Doesn't Work Pin
Piercesare6-Jun-05 1:16
Piercesare6-Jun-05 1:16 
QuestionThe same? Pin
Uwe Keim1-Jul-04 18:51
sitebuilderUwe Keim1-Jul-04 18:51 
AnswerRe: The same? Pin
cgreen691-Jul-04 22:16
cgreen691-Jul-04 22:16 
GeneralRe: The same? Pin
Uwe Keim1-Jul-04 22:18
sitebuilderUwe Keim1-Jul-04 22:18 
GeneralRe: The same? Pin
cgreen691-Jul-04 23:54
cgreen691-Jul-04 23:54 
GeneralRe: The same? Pin
Tim Musschoot6-Jul-04 3:09
Tim Musschoot6-Jul-04 3:09 
GeneralRe: The same? Pin
codospra17-Oct-05 3:17
codospra17-Oct-05 3:17 
GeneralRe: The same? Pin
Dave Bacher6-Mar-06 12:25
Dave Bacher6-Mar-06 12:25 
AnswerRe: The same? Pin
Chris Maunder4-Jul-04 6:45
cofounderChris Maunder4-Jul-04 6:45 
GeneralRe: The same? Pin
Uwe Keim4-Jul-04 17:13
sitebuilderUwe Keim4-Jul-04 17:13 
GeneralRe: The same? Pin
cgreen694-Jul-04 22:10
cgreen694-Jul-04 22:10 
Okay, here goes.

You have a solution that comprises a web project and a windows based automated testing tool such as NUnit.

Due to the windows based nature of NUnit the web context is unavailable. In order to instantiate database connection strings and so forth that would normally be available in web.config you would normally have to hard code them into the test classes.

My class allows the settings in Web Config to be exposed in the windows environemnt without the need for hard coding.

App.Config is not viable because a) the tool does not recognise it and b) why duplicate data in two different files for the same solution.

If you haven't worked on solutions that combine web and windows / console projects you may not appreciate the need to do this, but its a real time saver for those of us that do.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.