[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework

Detecting changes to app.config?

Jeff Mason

7/4/2008 5:11:00 PM

I'm trying to write some code that will detect changes in a Windows Service app's
..config file and reflect the modified appSetting entry in my code.

We have a windows Service we've written and every once in a while we need to modify a
setting in its .config file. Right now we restart the service whenever the config
entry changes.

We'd like to have the .config update be recognized automatically.

It's easy enough to hang a FileSystemWatcher off the application's .config file to
detect a change. In the event handler I am executing:

ConfigurationManager.RefreshSection("appSettings")

but this seems to have no effect. The value returned by subsequently referencing
ConfigurationManager.AppSettings(<somekey>) is the original value, not the one just
changed. Obviously, the value has been cached.

The help for RefreshSection claims:

"Refreshes the named section so the next time it is retrieved it will be re-read from
disk." but this doesn't appear to work.

I must not be understanding this correctly; what am I doing wrong?

Thanks for any help.


-- Jeff
1 Answer

Jeff Winn

7/5/2008 2:28:00 PM

0

Please do not double post - check your original post you made under
"app.config & FileSystemWatcher".

"Jeff Mason" <je.mason@comcast.net> wrote in message
news:n1ms64pkojqed9ufg58s6d1c6m11fdnr52@4ax.com...
> I'm trying to write some code that will detect changes in a Windows
> Service app's
> .config file and reflect the modified appSetting entry in my code.
>
> We have a windows Service we've written and every once in a while we need
> to modify a
> setting in its .config file. Right now we restart the service whenever
> the config
> entry changes.
>
> We'd like to have the .config update be recognized automatically.
>
> It's easy enough to hang a FileSystemWatcher off the application's .config
> file to
> detect a change. In the event handler I am executing:
>
> ConfigurationManager.RefreshSection("appSettings")
>
> but this seems to have no effect. The value returned by subsequently
> referencing
> ConfigurationManager.AppSettings(<somekey>) is the original value, not the
> one just
> changed. Obviously, the value has been cached.
>
> The help for RefreshSection claims:
>
> "Refreshes the named section so the next time it is retrieved it will be
> re-read from
> disk." but this doesn't appear to work.
>
> I must not be understanding this correctly; what am I doing wrong?
>
> Thanks for any help.
>
>
> -- Jeff