By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,702 Members | 1,496 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,702 IT Pros & Developers. It's quick & easy.

How Do I get ConfigurationSettings from the calling assembly?

P: n/a
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?
Nov 20 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
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?

Nov 20 '05 #2

P: n/a
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
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?

Nov 20 '05 #3

P: n/a
System.Configuration.ConfigurationSettings.AppSett ings[key] will work as per
the scope of the application you are using the control in.

"Rob Mayo" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
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?

Nov 20 '05 #4

P: n/a
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
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?

Nov 20 '05 #5

P: n/a
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]" <no****@nonono.no> wrote in message
news:#l*************@TK2MSFTNGP11.phx.gbl...
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message news:OM**************@TK2MSFTNGP09.phx.gbl...
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?


Nov 20 '05 #6

P: n/a
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in message
news:e6**************@tk2msftngp13.phx.gbl...
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]" <no****@nonono.no> wrote in message
news:#l*************@TK2MSFTNGP11.phx.gbl...
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" <Ro***************@WestNO-0-SPAMonSolutions.com> wrote in

message
news:OM**************@TK2MSFTNGP09.phx.gbl...
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?



Nov 20 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.