# Fairly interesting ASP.NET forums question - on using Global static variables instead of Application state in ASP.NET

<datetime class="hidden">2004-07-05T00:00</datetime>
<!-- category -- mostlylucidcouk, Imported -->

I was replying to this [forum post](http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;PostID=539975) I actually couldn't find a good example on how to do this - wierd, it's such a common thing to do. So, the problem is, is there a better method than using the Application object to store objects which should be available for the entire lifetime of the application? Yes, global static variables are a great way to do this. Simply, you use the global.asax.cs file to define a static property - you can then access this simply using the Global.\* in your code. For example, in the global.asax.cs:

public static ArrayList TestArrayList = new ArrayList();
Now, in any class I can access this...like so...  
if(Global.TestArrayList != null)

{

for(int i=0; i &lt;1000; i++)

{

Global.TestArrayList.Add(i);

}

}
Cool, no copy required, (yes I do realise I should actually be locking this first to ensure thread safety...)So, short one, but might come in handy for someone! Oh, I did a little example app which also shows using this in an HttpModule, you can [download it here](/uploads/GlobalStaticTest.zip)