Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > How Do I get ConfigurationSettings from the calling assembly?

Reply
Thread Tools

How Do I get ConfigurationSettings from the calling assembly?

 
 
Rob Mayo
Guest
Posts: n/a
 
      09-22-2003
I'm developing a server control for our intranet. This control is only going
to be used in two applications on the server, but they must be separate.

It has been established that these 2 apps will use a specifically named key
from their respective web.config's. I want the control to use that key
regardless of which application it's being used on.

How can I get that key from the application?

I considered creating a config file for the control, but that would be more
to maintain. We're using config files, because we don't want to use the
registry anymore. So the registry's out.

for example

visual basic
code:-----------------------------------------------------------------------
-------'In the app
Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")

'I want (in the control)
Dim strConn As String =
CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
-----------------------------------------------------------

I could pass in the values I want directly from the app(s), but that would
mean I would have to do that for every page in the app(s) that wanted to use
the control. That would be a maintenance nightmare.

I'm developing for developers, so I want them to be able to use this control
with as little hassle as possible.

Any ideas as to how to get this?


 
Reply With Quote
 
 
 
 
TJoker .NET [MVP]
Guest
Posts: n/a
 
      09-22-2003
Create one config file for each app (web.config) and make sure they both
contain something like:

<appSettings>
<add key="EQDB" value="your data here" />

...

</appSettings>

As you are creating this for other developers, they will certainly be
comfortable with this approach.



--
TJoker, MCSD.NET
MVP: Paint, Notepad, Solitaire

****************************************


"Rob Mayo" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I'm developing a server control for our intranet. This control is only

going
> to be used in two applications on the server, but they must be separate.
>
> It has been established that these 2 apps will use a specifically named

key
> from their respective web.config's. I want the control to use that key
> regardless of which application it's being used on.
>
> How can I get that key from the application?
>
> I considered creating a config file for the control, but that would be

more
> to maintain. We're using config files, because we don't want to use the
> registry anymore. So the registry's out.
>
> for example
>
> visual basic
>

code:-----------------------------------------------------------------------
> -------'In the app
> Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
>
> 'I want (in the control)
> Dim strConn As String =
>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> -----------------------------------------------------------
>
> I could pass in the values I want directly from the app(s), but that would
> mean I would have to do that for every page in the app(s) that wanted to

use
> the control. That would be a maintenance nightmare.
>
> I'm developing for developers, so I want them to be able to use this

control
> with as little hassle as possible.
>
> Any ideas as to how to get this?
>
>



 
Reply With Quote
 
 
 
 
Pete Davis
Guest
Posts: n/a
 
      09-22-2003
Well, using: this.Page.Request.ApplicationPath from the WebControl, you
should be able to access the web.config file, though I'm unsure of what
permission issues might be involved, as I haven't done this myself. At that
point you could parse the XML using an XML reader.

Just an idea.

Pete


"Rob Mayo" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I'm developing a server control for our intranet. This control is only

going
> to be used in two applications on the server, but they must be separate.
>
> It has been established that these 2 apps will use a specifically named

key
> from their respective web.config's. I want the control to use that key
> regardless of which application it's being used on.
>
> How can I get that key from the application?
>
> I considered creating a config file for the control, but that would be

more
> to maintain. We're using config files, because we don't want to use the
> registry anymore. So the registry's out.
>
> for example
>
> visual basic
>

code:-----------------------------------------------------------------------
> -------'In the app
> Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
>
> 'I want (in the control)
> Dim strConn As String =
>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> -----------------------------------------------------------
>
> I could pass in the values I want directly from the app(s), but that would
> mean I would have to do that for every page in the app(s) that wanted to

use
> the control. That would be a maintenance nightmare.
>
> I'm developing for developers, so I want them to be able to use this

control
> with as little hassle as possible.
>
> Any ideas as to how to get this?
>
>



 
Reply With Quote
 
alien2_51
Guest
Posts: n/a
 
      09-22-2003
You could put all your configuration setting in your machine.config then all
your apps would have the appsetting section inherited from machin.config

"Rob Mayo" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I'm developing a server control for our intranet. This control is only

going
> to be used in two applications on the server, but they must be separate.
>
> It has been established that these 2 apps will use a specifically named

key
> from their respective web.config's. I want the control to use that key
> regardless of which application it's being used on.
>
> How can I get that key from the application?
>
> I considered creating a config file for the control, but that would be

more
> to maintain. We're using config files, because we don't want to use the
> registry anymore. So the registry's out.
>
> for example
>
> visual basic
>

code:-----------------------------------------------------------------------
> -------'In the app
> Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
>
> 'I want (in the control)
> Dim strConn As String =
>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> -----------------------------------------------------------
>
> I could pass in the values I want directly from the app(s), but that would
> mean I would have to do that for every page in the app(s) that wanted to

use
> the control. That would be a maintenance nightmare.
>
> I'm developing for developers, so I want them to be able to use this

control
> with as little hassle as possible.
>
> Any ideas as to how to get this?
>
>



 
Reply With Quote
 
Leon Jollans
Guest
Posts: n/a
 
      09-22-2003
System.Configuration.ConfigurationSettings.AppSett ings[key] will work as per
the scope of the application you are using the control in.

"Rob Mayo" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I'm developing a server control for our intranet. This control is only

going
> to be used in two applications on the server, but they must be separate.
>
> It has been established that these 2 apps will use a specifically named

key
> from their respective web.config's. I want the control to use that key
> regardless of which application it's being used on.
>
> How can I get that key from the application?
>
> I considered creating a config file for the control, but that would be

more
> to maintain. We're using config files, because we don't want to use the
> registry anymore. So the registry's out.
>
> for example
>
> visual basic
>

code:-----------------------------------------------------------------------
> -------'In the app
> Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
>
> 'I want (in the control)
> Dim strConn As String =
>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> -----------------------------------------------------------
>
> I could pass in the values I want directly from the app(s), but that would
> mean I would have to do that for every page in the app(s) that wanted to

use
> the control. That would be a maintenance nightmare.
>
> I'm developing for developers, so I want them to be able to use this

control
> with as little hassle as possible.
>
> Any ideas as to how to get this?
>
>



 
Reply With Quote
 
Rob Mayo
Guest
Posts: n/a
 
      09-22-2003
They already do.

I wanted to know how to access that from the server control. There seemed to
be no visibly accessible property for accessing ConfigurationSettings of the
apps from the server control.

What I ended up doing was setting a global variable in the apps' Global.aspx
which was set to the value in the web.configs. From there I was able to
access that from the server control's Parent.Application object

"TJoker .NET [MVP]" <(E-Mail Removed)> wrote in message
news:#(E-Mail Removed)...
> Create one config file for each app (web.config) and make sure they both
> contain something like:
>
> <appSettings>
> <add key="EQDB" value="your data here" />
>
> ...
>
> </appSettings>
>
> As you are creating this for other developers, they will certainly be
> comfortable with this approach.
>
>
>
> --
> TJoker, MCSD.NET
> MVP: Paint, Notepad, Solitaire
>
> ****************************************
>
>
> "Rob Mayo" <(E-Mail Removed)> wrote in

message
> news:(E-Mail Removed)...
> > I'm developing a server control for our intranet. This control is only

> going
> > to be used in two applications on the server, but they must be separate.
> >
> > It has been established that these 2 apps will use a specifically named

> key
> > from their respective web.config's. I want the control to use that key
> > regardless of which application it's being used on.
> >
> > How can I get that key from the application?
> >
> > I considered creating a config file for the control, but that would be

> more
> > to maintain. We're using config files, because we don't want to use the
> > registry anymore. So the registry's out.
> >
> > for example
> >
> > visual basic
> >

>

code:-----------------------------------------------------------------------
> > -------'In the app
> > Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
> >
> > 'I want (in the control)
> > Dim strConn As String =
> >

>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> > -----------------------------------------------------------
> >
> > I could pass in the values I want directly from the app(s), but that

would
> > mean I would have to do that for every page in the app(s) that wanted to

> use
> > the control. That would be a maintenance nightmare.
> >
> > I'm developing for developers, so I want them to be able to use this

> control
> > with as little hassle as possible.
> >
> > Any ideas as to how to get this?
> >
> >

>
>



 
Reply With Quote
 
TJoker .NET [MVP]
Guest
Posts: n/a
 
      09-22-2003
You can use the same code you showed:
System.Configuration.ConfigurationSettings.AppSett ings.Item("EQDB")
I have code using this approach and it works. Any code will have access to
whatever is in the application config file of the application that loaded
the code (your server control, for example).
It seems like a simple matter of missing Imports (C# using) statements..



--
TJoker, MCSD.NET
MVP: Paint, Notepad, Solitaire

****************************************


"Rob Mayo" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> They already do.
>
> I wanted to know how to access that from the server control. There seemed

to
> be no visibly accessible property for accessing ConfigurationSettings of

the
> apps from the server control.
>
> What I ended up doing was setting a global variable in the apps'

Global.aspx
> which was set to the value in the web.configs. From there I was able to
> access that from the server control's Parent.Application object
>
> "TJoker .NET [MVP]" <(E-Mail Removed)> wrote in message
> news:#(E-Mail Removed)...
> > Create one config file for each app (web.config) and make sure they both
> > contain something like:
> >
> > <appSettings>
> > <add key="EQDB" value="your data here" />
> >
> > ...
> >
> > </appSettings>
> >
> > As you are creating this for other developers, they will certainly be
> > comfortable with this approach.
> >
> >
> >
> > --
> > TJoker, MCSD.NET
> > MVP: Paint, Notepad, Solitaire
> >
> > ****************************************
> >
> >
> > "Rob Mayo" <(E-Mail Removed)> wrote in

> message
> > news:(E-Mail Removed)...
> > > I'm developing a server control for our intranet. This control is only

> > going
> > > to be used in two applications on the server, but they must be

separate.
> > >
> > > It has been established that these 2 apps will use a specifically

named
> > key
> > > from their respective web.config's. I want the control to use that key
> > > regardless of which application it's being used on.
> > >
> > > How can I get that key from the application?
> > >
> > > I considered creating a config file for the control, but that would be

> > more
> > > to maintain. We're using config files, because we don't want to use

the
> > > registry anymore. So the registry's out.
> > >
> > > for example
> > >
> > > visual basic
> > >

> >

>

code:-----------------------------------------------------------------------
> > > -------'In the app
> > > Dim strConn As String = ConfigurationSettings.AppSettings.Item("EQDB")
> > >
> > > 'I want (in the control)
> > > Dim strConn As String =
> > >

> >

>

CallingApp.ConfigurationSettings.AppSettings.Item( "EQDB")-------------------
> > > -----------------------------------------------------------
> > >
> > > I could pass in the values I want directly from the app(s), but that

> would
> > > mean I would have to do that for every page in the app(s) that wanted

to
> > use
> > > the control. That would be a maintenance nightmare.
> > >
> > > I'm developing for developers, so I want them to be able to use this

> > control
> > > with as little hassle as possible.
> > >
> > > Any ideas as to how to get this?
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Extracting settings from config file outside 'ConfigurationSettings.AppSettings' ASP .Net 3 02-23-2004 06:06 AM
ConfigurationSettings vs Application State [myfirstname] ASP .Net 1 02-19-2004 01:13 PM
How Do I get ConfigurationSettings from the calling assembly? Rob Mayo ASP .Net Web Controls 6 09-22-2003 06:27 PM
How Do I get ConfigurationSettings from the calling assembly? Rob Mayo ASP .Net Building Controls 6 09-22-2003 06:27 PM
RE: ConfigurationSettings.AppSettings Error Bassel Tabbara [MSFT] ASP .Net 1 07-07-2003 08:31 PM



Advertisments