Static Variables somehow maintaining state?

Posted by gfoley on Stack Overflow See other posts from Stack Overflow or by gfoley
Published on 2010-04-07T00:59:19Z Indexed on 2010/04/07 1:03 UTC
Read the original article Hit count: 248

Filed under:

I am working on an existing project, setup by another coder. I'm having some trouble understanding how state is being maintained between pages. There is a Class library which has some helper objects. Mostly these objects are just used for there static methods and rarely instantiated or inherited.

This is an example class I'm testing with.

public sealed class Application
{
    public static string Test;
}

Now when i run something like the following in the base class of my page, I would expect the result to be "1: 2:Test" all the time (note that "1" is empty), but strangly its only this way the first time it is run. Then every time afterwards its "1:Test 2:Test". Somehow its maintaining the state of the static variable between pages and being refreshed??

Response.Write("1:" + SharedLibrary.Application.Test);

SharedLibrary.Application.Test = "Test";

Response.Write(" 2:" + SharedLibrary.Application.Test);

I need to create more classes like this, but want to understand why this is occurring in the first place.

Many Thanks

© Stack Overflow or respective owner

Related posts about c#