ASP.NET state management

ASP.NET state management

Приложения ASP.NET размещаются на веб-серверах. Доступ к ним осуществляется через stateless протокол HTTP. По сути, если приложение использует stateful взаимодействие, ему необходимо осуществить управление состоянием (state management) самостоятельно. ASP.NET обеспечивает различные способы для управления состоянием приложений в ASP.NET: переменные Application state, Session state и View state.

Содержание

Application state

Application state — это коллекция определённых пользователем переменных, которые доступны из любого места приложения ASP.NET. Они устанавливаются и инициализируются при событии Application_OnStart на этапе загрузки первого экземпляра приложения и остаются доступными до тех пор, пока существует последний экземпляр приложения. Переменные Application state досупны через коллекцию Applications, которая обеспечивает «обёртку» для переменных application state. Переменные Application state идентифицируются по их именам.[1]

Session state

Session state — это набор пользовательских переменных, которые продолжают существовать в течение сеанса пользователя. Эти переменные уникальны для различных экземпляров пользовательских сессий, и доступны через коллекцию Session. Эти переменные (Session variables) можно настроить таким образом, чтобы они автоматически уничтожались по прошествии определённого времени неактивности пользователя, даже, если сессия ещё не завершена. На клиентской стороне пользовательская сессия идентифицируется при помощи cookie или при помощи ID сессии в её URL.[1]

ASP.NET поддерживает следующие режимы существования переменных сессии:[1]

InProc
Переменные сессии поддерживаются внутри процесса ASP.NET. Однако, в этом режиме переменные уничтожаются, когда процесс ASP.NET запускается повторно, либо завершается.
StateServer
В этом режиме ASP.NET запускает отдельную службу (service), которая поддерживает переменные состояния. Так как управление состоянием (state management) происходит за пределами ASP.NET процесса, это негативно сказывается на производительности, но позволяет многим экземплярам ASP.NET использовать общий сервер состояний, таким образом позволяя приложению ASP.NET быть равномерно распределённым на различных серверах (с балансировкой нагрузки и масштабированием на несколько серверов). Так как служба управления состоянием (state management service) запускается независимо от ASP.NET, переменные могут существовать после завершения работы процесса ASP.NET.
SQLServer
В этом режиме, переменные состояния (state variables) хранятся на database server, и доступны через SQL. Переменные состояния могут существовать после завершения процесса ASP.NET так же как и в предыдущем случае.
Custom
Этот режим требует указать свой поставщик хранилища данных о сессиях с помощью атрибута customProvider. Чаще всего используется тогда, когда информацию о сеансах необходимо хранить в базе данных, отличной от SqlServer (например, MySql или Oracle).
Off
Управление состоянием сеансов отключено.


Пример использования сессий
    Session["Name"] = "Василий Пупкин"; //Session["Name"] = (object);
    Session.Add("Age", 16);
    //Забираем значение.
    Response.Write((string)Session["Name"] + ": " + Session["Age"].ToString() + "-years old.");
Результат, записанный в http-ответ web-сервера

Василий Пупкин: 16-years old.

View state

View state ссылается на уровень страницы механизма управления состоянием (state management mechanism), который используется HTML страницами для сохраниния состояния компонентов веб-формы и widgets. При запросе на сервер текущее состояние компонентов (controls) кодируется и отправляется на сервер в скрытом поле __VIEWSTATE. Сервер посылает назад переменную, поэтому, когда страница повторно прорисовывается (re-rendered), компоненты (controls) отображаются (render) с их последним состоянием. На серверной стороне приложение может изменить viewstate, если результаты обработки обновляют хотя бы один элемент управления на странице. Состояния каждого компонента декодируется на сервере и доступно для использования в ASP.NET страницах через коллекцию ViewState.[2]

Ссылки

  1. 1 2 3 INFO: ASP.NET State Management Overview.(недоступная ссылка — история) Проверено 23 октября 2007.
  2. ViewState in ASP.NET. Архивировано из первоисточника 1 марта 2012. Проверено 23 октября 2007.

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "ASP.NET state management" в других словарях:

  • ASP.NET — es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET… …   Wikipedia Español

  • State management — refers to the management of the state of one or more user interface controls such as text fields, OK buttons, radio buttons, etc in a Graphical User Interface. In this user interface programming technique, the state of one UI control depends on… …   Wikipedia

  • ASP.NET — Not to be confused with UNESCO ASPNet. ASP.NET Developer(s) Microsoft Initial release January 2002 Stable release 4.0.30319.1 (4.0) / 12 April 2010; 18 months ago (2010 04 12) …   Wikipedia

  • ASP.NET — Проверить нейтральность. На странице обсуждения должны быть подробности. ASP.NET  технология создания веб приложений и веб сервисов от компании Майкр …   Википедия

  • ASP — Сокращение ASP имеет несколько значений: Active Server Pages  технология создания веб приложений корпорации «Майкрософт». ASP.NET  технология создания веб приложений и веб сервисов от компании Майкрософт. ASP.NET AJAX  это… …   Википедия

  • ASP, Inc. — Infobox Company name = ASP, Inc. type = Private genre = foundation = Appleton, Wisconsin, USA (1976) founder = Kevin Parsons location city = Appleton, Wisconsin location country = USA location = locations = area served = key people = Kevin… …   Wikipedia

  • State of Play (film) — Infobox Film name = State of Play image size = caption = director = Kevin Macdonald producer = Tim Bevan Eric Fellner Andrew Hauptman E. Bennett Walsh writer = Matthew Michael Carnahan Tony GilroyPeter Morgan Billy Ray Paul Abbott (series)… …   Wikipedia

  • Management of depression — Depression, for the purposes of this article, refers to the mental disorder known as major depressive disorder. This kind of depression is a recognized clinical condition and is becoming a common condition in developed countries, where up to 20%… …   Wikipedia

  • Visual Basic .NET — Paradigm(s) Structured, imperative, object oriented and declarative Appeared in 2001 Designed by Micro …   Wikipedia

  • Interregional Academy of Personnel Management — ( uk. Міжрегіональна Академія управління персоналом (МАУП), translit.: Mizhrehional na Akademiya upravlinnya personalom , English acronym: MAUP, also IAPM or IRAPM) is a private higher education institution in Ukraine. Founded in 1989 as a non… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»