Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL, Connector/Net от версии 6.1, включал MySQL Session State Provider. Этот провайдер позволяет Вам сохранить
состояние сеанса в базе данных MySQL. Следующее учебное руководство показывает Вам, как подготовиться
использовать MySQL Session State Provider, и затем хранить данные сеанса в базу данных MySQL. Это учебное
руководство использует Microsoft Visual Studio 2008 Professional Edition, MySQL, Connector/Net 6.1.1 и MySQL
Server 5.1. Это учебное руководство также предполагает, что Вы создали пустую базу данных, например test
, где Вы будете хранить данные сеанса. Вы могли сделать это использование mysql интерпретатора команд.
В Visual Studio создайте новое ASP.NET веб-сайт. Если Вы не уверены, как сделать это, сошлитесь на учебное руководство Раздел 22.2.4.6, "Учебное руководство: Привязка данных в ASP.NET Используя LINQ на Объектах", который демонстрирует, как сделать это.
Запустите MySQL Website Configuration tool MySQL. Из-за ошибки в 6.1.1, это, возможно, не появляется, если Вы не соединяетесь с сервером в Проводнике Сервера. Если Вы незнакомы с MySQL Website Configuration tool, рассматриваете сначала работу через учебное руководство в Разделе 22.2.3.12, "MySQL Website Configuration Tool".
Переместитесь через мастер к странице Состояния сеанса. Удостоверьтесь MySQL флажка Use, чтобы управлять моим ASP.NET, данные сеанса выбираются.
На той же самой странице сконфигурируйте строку подключения к базе данных, которая будет содержать Ваши данные сеанса. Если эта база данных будет пуста, то MySQL, Connector/Net, создаст схему, требуемую хранить данные сеанса.
Гарантируйте, что флажок Autogenerate Schema выбирается так, чтобы MySQL, Connector/Net, создал схему в Вашей базе данных, чтобы хранить данные сеанса правильно.
Введите имя своего приложения.
Щелкните web.config
файл с информацией о строке
подключения и провайдерах значения по умолчанию, которые будут использоваться. В этом случае мы выбрали
MySQL Session State Provider.
В этой точке Вы готовы использовать базу данных MySQL, чтобы хранить данные сеанса. Чтобы протестировать это, набор работал, можно записать простую программу, которая использует переменные сеанса.
Открытый Default.aspx.cs
. В Page_Load
метод, добавляет следующий код:
Session["SessionVariable1"] = "Test string";
Создайте свое решение.
Выполните решение (не отлаживая). Когда приложение будет работать, провайдер автоматически сгенерирует таблицы, требуемые в базе данных, которую Вы выбрали, устанавливая приложение.
Проверьте, что схема фактически создавалась. Используя MySQL Command-Line Client
используют целевую базу данных и затем вводят SHOW TABLES;
. Вы будете
видеть, что MySQL, Connector/Net, создал необходимую схему автоматически, когда мы выбрали это, чтобы
произойти в MySQL Website Configuration tool.
Теперь просмотрите содержание этих таблиц, вводя SELECT *
FROM my_aspnet_sessions;
в mysql интерпретаторе команд. Это выведет на экран данные
сеанса наше используемое приложение. Отметьте, что это сохранено в двоичном формате, таким образом,
некоторые данные, возможно, не выводят на экран как ожидалось.
В этой точке Вы установили Провайдера Состояния сеанса и выполнили предварительный тест установки. Вы будете теперь работать немного больше с Провайдером Состояния сеанса.
В этой части учебного руководства Вы установите и получите переменную сеанса. Можно работать со своим существующим проектом.
Выберите Default.aspx
и переключитесь на Режим
конструктора. Добавьте текстовое поле и три кнопки. Измените текстовое свойство для кнопок, чтобы "Сохранить Переменную Сеанса", "Четкое Текстовое поле", и "Выставочная Переменная Сеанса". Они
будут Button1
, Button2
и Button3
соответственно. Создайте свое решение гарантировать, что никакие
ошибки не были представлены.
Все еще в Режиме конструктора, двойном щелчке Button1
.
Теперь к Button1_Click
обработчик событий добавляет код некоторые, которые
обработчик напоминает следующее:
protected void Button1_Click(object sender, EventArgs e){ Session["SessionString"] = TextBox1.Text;}
Вы создали использование переменной нового Сеанса, к которому получают доступ, ключа "SessionString". Это будет
установлено в текст, который вводился в текстовое поле когда Button1
щелкается.
В Режиме конструктора, двойном щелчке Button2
добавить
его обработчик событий щелчка. Эта кнопка нуждается к открытому тексту от текстового поля. Код, чтобы
сделать это следующие:
protected void Button2_Click(object sender, EventArgs e){ TextBox1.Text = "";}
Код просто присваивает пустую строку Text
свойство текстового поля.
В двойном щелчке Режима конструктора Button3
и
измените обработчик щелчка следующим образом:
protected void Button3_Click(object sender, EventArgs e){ TextBox1.Text = (String)Session["SessionString"];}
Это получит строку сеанса и выведет на экран ее в текстовом поле.
Теперь измените Page_Load
метод следующим образом:
protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { TextBox1.Text = "Enter some text"; }}
Это гарантирует это, когда страница загружает текстовое поле Text
свойство сбрасывается.
Гарантируйте, что решение сохраняется, и затем восстановите решение.
Выполните решение без отладки.
Форма будет выведена на экран. Введите некоторый текст в текстовое поле. Теперь щелкните
. В этой точке Вы сохранили строку в переменной сеанса.Теперь щелкните
, чтобы очистить текстовое поле.Теперь щелкните
, чтобы получить и вывести на экран переменную сеанса.Обновите страницу, чтобы уничтожить форму и вывести на экран новую форму.
Щелкните
, текстовое поле выведет на экран сохраненную переменную сеанса, демонстрируя, что обновление страницы не уничтожает переменную сеанса.Это иллюстрирует, что данные состояния сеанса не уничтожаются, когда страница перезагружается.