My suspicion would be that you have an exception being thrown in
Application_Start and the serverName reference is never set. Try
setting a breakpoint in the method and stepping through with the
debugger a few times, or add a try catch and set serverName to a value
that will let you know an exception happened.
I'm pretty sure you'll discover the problem has nothing to do with
resets.
--
Scott
http://www.OdeToCode.com/blogs/scott/
On 22 Jul 2005 11:18:47 -0700, "Marc Missire" <mmissire@gmail.com>
wrote:
[color=blue]
>Hi,
>
>I have an issue below I'd love help with, involving a static variable,
>Application_Start, and a background thread.
>
>In global.asax.cs I have a static variable (outside any method) with a
>default value, such as:
>
>private static string serverName = string.Empty;
>
>
>In the Application_Start event handler, I set this:
>
>serverName =
>HttpContext.Current.Request.ServerVariables["SERVER_NAME"];
>
>
>So far, so good.
>Further along on Application_Start, a new thread is created, using
>something like:
>
>thread = new System.Threading.Thread(
> new System.Threading.ThreadStart(MyFunction));
>thread.Start();
>
>This thread hangs around, periodically doing some needed housekeeping.
>Among other things, it uses the "serverName" variable in a read-only
>fashion.
>
>
>This seems to work. However, it appears that "serverName" is empty once
>in a great while, when accessed in the thread created above.
>
>My question:
>
>I've heard that an application recycle event could cause the static
>variables to be reloaded and the Application_Start to fire again. This
>makes sense to me.
>
>But if that happened, would my "housekeeping" thread be in trouble?
>Since it uses "serverName", could it be accessing this right as it is
>reloaded due to either its static initializer, or the assignment in
>Application_Start?
>
>
>
>Thanks in advance for any help with this.[/color]