..


Рекламные ссылки

Управления состоянием сеанса

Разработку и развертывание веб-приложений, необходим контроль состояния одного и того же во все времена. Одним из самых важных государств связано с сессии (сеанса) и ASP.NET предоставляет отличную поддержку для управления им.

На данный момент руководство должно быть ясно, что в веб-программирования приложений, разработанных обслуживания нескольких пользователей, распределенных по большой площади, на основе отключен протокол (HTTP).

Когда состояние сеанса для каждого запроса, ASP.NET создает новый объект сессии, которая становится частью контекста и доступна через страницу. В этом объекту присваивается идентификатор, и это становится удобным контейнером информации, длительность которых больше страниц он ссылается.

Сессия объект словарь пар имя / значение, и через него можно привязать любой объект ключ, чтобы вы могли получить к нему доступ, когда это необходимо, используя свой собственный ключ.

Например, если мы хотим сохранить некоторую информацию о пользователе в объект сеанса должны написать что-то вроде






 StoreInfoInSession недействительными ()







 {

 

  



 String = TextBox1.Text strInputUtente;

 

  



 Сессия ["strInputUtente"] = strInputUtente;







 }



и последующего запроса, если мы хотим получить это значение, мы должны написать





 недействительным GetInfoFromSession ()







 {

 

  



 StrInputUtente String = сессии ["strInputUtente"];

 

  



 TextBox1.Text = strInputUtente;







 }



Управления состоянием сеанса в ASP.NET очень удобно, особенно потому, что эта технология в этом типе объекта могут быть размещены в разных местах: в текущем процессе, была отделена от сервера, базы данных SQL Server.

Чтобы лучше понять, как сессия была пример, когда мы видим, мы создадим сайт со страницей, в которой хранится значение как часть состояния сеанса. Отсюда ясно, разница между состоянием страницы во время запроса и информации, связанной с сессии, что, как уже упоминалось, сохраняются даже после запроса.

Мы создаем новые веб-приложений и веб-формы Default.aspx вставить текстовое поле, чтобы ввести значение, которое будет храниться в состоянии сеанса. Мы также добавляем две кнопки, одна для хранения данных и для отображения статуса

Также вставить текстовое поле рядом с этикеткой для отображения данных вам перезвонить позже. Вставить переменную типа строка в нашей странице и в Page_Load установить значение этой строки в нашем поле






 sessionString строку;









 защищен недействительным Page_Load (объект отправителя, EventArgs е)







 {



  



 this.Label1.Text = this.sessionString;







 }



Двойной щелчок на кнопке Магазины Нажмите событие создать соответствующий внутри и вставить код, который извлекает строки, содержащейся в текстовом поле и сохраняет его в переменной sessionString, установка этикеткой с одинаковым текстом





 MemorizzaBtn_Click защищены недействительным (объект отправителя, EventArgs е)







 {



  



 this.sessionString = this.TextBox1.Text;



  



 this.Label1.Text = this.sessionString;







 }



Мы начинаем приложение и написать что-то в текстовом поле и нажмите на кнопку Сохранить. Мы должны увидеть что-то вроде

Если мы нажмем на кнопку Просмотр этикетка приобретает значение пустой строки в качестве переменной экземпляра sessionString раз (потому что страница воссозданы). Это потому, что мы устанавливаем его в Page_Load свойства Текст на этикетке установлен в значение переменной sessinString. Как мы уже несколько раз упоминается в самом деле, страницы очень недолго объектов, время жизни запрос, а затем уничтожаются все данные в них. Так что, если целью является сохранить некоторые данные, которые выходят за рамки продолжительности страницу, как только подход не есть хорошо.

Использование состояния сеанса способ решить эту проблему. Чтобы лучше объяснить концепцию мы добавляем второй метки на наш веб-форму и установить ее в качестве, которые уже присутствуют

Это вторая метка будет полезна для отображения данных, полученных через сессию объекта. MemorizzaBtn_Click изменить события так, что текст, взятый из текстового поля, также хранится в сессии






 MemorizzaBtn_Click защищены недействительным (объект отправителя, EventArgs е)







 {



  



 / / Сохраняем значение в локальную переменную



  



 this.sessionString = this.TextBox1.Text;





  



 / / Сохраняем значение в сессии



  



 this.Session ["sessionString"] = this.TextBox1.Text;





  



 / / Показать значение переменной



  



 this.Label1.Text = this.sessionString;





  



 / / Показать значение сессии



  



 this.Label2.Text = (строка) this.Session ["sessionString"];







 }



Кроме того, изменить события Page_Load, так что второй набор этикетке строки извлекаются из сессии





 защищен недействительным Page_Load (объект отправителя, EventArgs е)







 {



  



 this.Label1.Text = this.sessionString;



  



 this.Label2.Text = (строка) this.Session ["sessionString"];







 }



Мы начинаем приложение и написать что-то снова в текстовом поле, затем нажмите на кнопку Сохранить. Мы должны увидеть что-то вроде

Если теперь нажать на Show увидите, что первый параметр будет установлен в пустую строку, а второй будет поддерживать значение

Хотя значение локальной переменной теряется, потому что страница заново, значение, хранящееся в объекте сеанса сохраняется и может быть консультации.

Что касается конфигурации различных параметров для управления сессии я предлагаю вам обратиться к официальной документации Microsoft.

Помощь в Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Полный курс для создания динамических веб-сайтов. С 39 €.
ASP.NET (курс) ASP.NET (курс)
Полный курс для создания веб-приложений от 49 €.
SQL и базы данных (курс) SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €.
Рекламные ссылки