Преамбула
Я не мог полностью понять ответ Дарина, поскольку он не придерживается стандартов с именами глобального класса при всем уважении.Мне нужно решение для VS2005, а не 2010, но я уверен, что это решение будет работать, тем не менее.
Добавление файла CodeBehind для Global.asax в asp.net 2.0
Удалите все текущие файлы Global.asax и Global.cs или попытайтесь это исправить.
Хорошо, когда все прошло, перейдите в корневую папку вашего проекта, щелкните правой кнопкой мыши и выберите Добавить новый элемент....
Выберите глобальный класс и нажмите OK
Теперь снова вернитесь в корневую папку, щелкните правой кнопкой мыши и выберите новый класс
Назовите этот класс - Global.cs
И да - разрешить сохранение в папке app_code
.НЕ говорите НЕТ и разрешите поместить его в корневую папку.Это должно быть в папке app_code.
Отредактировать файл Global.asax и вырезать (вырезать / вставить) код внутри тега <script>
.Файл должен выглядеть следующим образом и добавить тег Inherits ..
<%@ Application Language="C#" Inherits="Global" %>
<script runat="server">
//do not put any code here
</script>
Перейдите в файл global.cs в app_code и вставьте вырезанный код из файла Global.asax.
Файл global.cs в app_code теперь должен выглядеть следующим образом ...
/// <summary>
/// Summary description for Global
/// </summary>
public class Global : System.Web.HttpApplication
{
public Global()
{
//
// TODO: Add constructor logic here
//
}
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
}
Теперь у нас есть файл Global.asax и Code за файлом Global.asax.cs с именем класса.Сделав это, мы можем получить доступ к статической переменной в любом месте веб-сайта.