Use global variables in ASP.NET websites by specifying static fields.
Global variables are useful in ASP.NET. They don't need to be copied and only one is needed in the website application. We use static properties to store this single instance data.StaticGlobal Variable
First, older versions of ASP used the Application object, but this is inefficient in ASP.NET. To get started in adding your static global variables in ASP.NET, create the App_Code folder.
Then: Right-click on your project name and select "Add ASP.NET Folder" and then App_Code. Here is the code you can put in the class file.
Static: The Global class is static. This means it is only created once for the type. You can name the class anything, not just Global.
Tip: The class contains string types. Here we can have any value or reference type—not just string, but int, List or Dictionary.
Also: It has a property. The "get" and "set" keywords mean you can access the field variable through the property.
Global variable example 1: C#
/// Contains my site's global variables.
public static class Global
/// Global variable storing important stuff.
static string _importantData;
/// Get or set the static important data.
public static string ImportantData
_importantData = value;
Example 2. Here we want to use the static global variables in the class. Open your web page's code-behind file. It is usually named Default.aspx.cs. This web form accesses the global variable.
And: Page_Load first gets the static data. This example initializes the global variable if it isn't initialized yet.
Then: It writes the value of Global.ImportantData to the literal. This is rendered to the browser.
Global variable example 2: C#
public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
// Get the current ImportantData.
string important1 = Global.ImportantData;
// If we don't have the data yet, initialize it.
if (important1 == null)
// Example code.
important1 = DateTime.Now.ToString();
Global.ImportantData = important1;
// Render the important data.
Important1.Text = important1;
Discussion. Now run your web page and you will see that the global variable is used. This global data will only be run once for your entire application, saving lots of resources. Here are some questions that can be answered by testing.
Global: Static fields and properties in ASP.NET are always global. Another copy is never created. You will not have duplication.
Performance: Static fields are efficient in normal situations. You will only have one copy of the data and there is no locking required.
Application: The Application collection can be used the same way as static variables. But it may be slower and harder to deal with.
With static fields, casting is not required. A problem with the Application object in ASP.NET is that it requires casting to read its objects. This introduces boxing and unboxing. Static fields allow you to use generics.ListDictionary
Is this recommended? Yes, and not just by the writer of this article. It is noted in Professional ASP.NET by Apress and many sites on the Internet. It works well—but don't take my word for it.
You can initialize the class at startup—put the code in the Application_Start event in Global.asax. Alternatively, use a static constructor or logic to lazily initialize the class.
Summary. We used static classes and variables to store site-wide objects in memory. This is a recommended practice on ASP.NET websites. It is possible to make your code easier to read and safer to use with globally scoped, static variables.