Учебный семинар по ASP.NET Нижегородское сообщество.NET разработчиков Нижегородское сообщество.NET разработчиков Лаборатория информационных технологий.

Презентация:



Advertisements
Похожие презентации
Проф. В.К.Толстых, Выполнил студент: Тышлек С.В., 2009 Технологии разработки Internet- приложений Из цикла лекций «Технологии разработки.
Advertisements

Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
Г. Москва, тел.: +7 (495) , Internet: Слайды курса «Администрирование работы на сервере.


Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Печать документов Борисов В.А. Красноармейский филиал ГОУ ВПО «Академия народного хозяйства при Правительстве РФ» Красноармейск 2009 г.
Типовые расчёты Растворы
ЗРИТЕЛЬНЫЕ ИЛЛЮЗИИ ОПТИЧЕСКИЕ ОБМАНЫ 1. Зрительная иллюзия – не соответствующее действительности представление видимого явления или предмета из-за особенностей.
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – директивы Из цикла лекций «Технологии разработки Internet-приложений»
1 ГОУ ВПО Тульский государственный университет Начальник отдела информационной безопасности. Серегин Денис Витальевич.
Лекция 8 Способы хранение состояния web приложения.
Департамент экономического развития Ханты-Мансийского автономного округа - Югры 1.
Маршрутный лист «Числа до 100» ? ? ?
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
ИД «Первое сентября». Журнал «Физика» 2/ Роза ветров 9 ИД «Первое сентября». Журнал «Физика» 2/2014.
Свойства функций Область определения, множество значений, чётность, нечётность, возрастание, убывание.
Кафедра ОСУ, Java 2004 Слайд 1 Наследование Наследование позволяет использовать существующий класс для определения новых классов, т.е. способствует.
Транксрипт:

Учебный семинар по ASP.NET Нижегородское сообщество.NET разработчиков Нижегородское сообщество.NET разработчиков Лаборатория информационных технологий ВМК ННГУ 1 Максим Бовыкин Максим Бовыкин Microsoft Student Partner, ННГУ

1. View State 2. Межстраничный обмен 3. COOKIES 4. Session State Mattew MacDonald: Pro ASP.NET 3.5 in C# 2008 Глава 1, Раздел 6 2

ASP.NET State Management: 3

4

5

6

7

8 Как и большинство типов управления состоянием в ASP.NET, View State основывается на dictionary collection, где каждому элементу соответствует уникальное имя: ViewState["Counter"] = 1; При извлечении значения, обращение происходит по имени: int counter; if (ViewState["Counter"] != null) counter = (int)ViewState["Counter"]; Всегда необходимо делать проверку на NULL!

9

10 Дляхранение объектов во View State Обязателен атрибут [Serializable] Все порождаемые классы тоже должны иметь этот атрибут Все члены класса также должны быть сериализованы

11

12 В отличии от свойств элементов управления, значения переменных хранить во View State нельзя. Однако это ограничение можно обойти, например так:

13 Hash codes включены по умолчанию. Для изменения:

ASP.NET State Management: 14

15 Для хранения информации в строке запроса необходимо занести ее туда вручную: Response.Redirect("QueryStringRecipient.aspx" + "?Version=" + ((Control)sender).ID); Извлечение значения: Request.QueryString["Version"]; URL шифрование Response.Redirect("QueryStringRecipient.aspx" + "?Version=" + Server.UrlEncode(((Control)sender).ID));

16

ASP.NET State Management: 17

18 Cookies – это еще один способ хранения информации для использования в дальнейшем. Это небольшие файлы, хранящиеся в браузерных директориях. Для использования куки необходимо подключить: using System.Net; Создание кукисов: HttpCookie cookie = new HttpCookie("Preferences"); cookie["Lang"] = "English"; cookie["Country"] = "RUS"; Response.Cookies.Add(cookie); //Set a long-live cookie - 1 year cookie.Expires = DateTime.Now.AddYears(1);

19 Извлечение кукисов: string lang; if (cookie != null) lang = cookie["Lang"]; Удаление кукисов: HttpCookie cookie = new HttpCookie("Preferences"); cookie.Expires = DateTime.Now.AddYears(-1); Response.Cookies.Add(cookie);

ASP.NET State Management: 20

21 Sessoin State – это мощный инструмент управления состоянием. Он позволяет хранить информацию на страницах так, что эта информация будет доступна другим страницам. Что лучше всего – Session State использует такой же синтаксис, как и View State. Отличие в имени встроенного в страницу свойства. Session State позволяет хранить информацию абсолютно для каждого пользователя, о его действиях, etc.Но приходится жертвовать местом на сервере, потому как к сайту одновременно могут обращаться тысячи пользователей.

22

23 Для использования Session State необходимо подключить: using System.Web.SessionState; Информация из Session State может быть потеряна в следующих случаях: Если пользователь закрыл/перезапустил браузер Если пользователь открыл ту же самую страницу в новом экземпляре браузера или в другом браузере. Session State хранится для текущего запущенного браузера Если превышен Session timeout Если сессия была закрыта программистом путем вызова Session.Abandon();

24

25

26

27 Off - Session State отключен InProc - Сохранение информации в текущем домене приложения. Это обеспечивает наилучшую производительность, но наименьшее время жизни. - Опция по умолчанию SQLServer Позволяет использовать MS SQL Server для хранения информации о состоянии сессии StateServer Отдельный windows service для управления состояниями Возможен хостинг State Severа на другом компьютере

28

29

30 Timeout устанавливает время в минутах, которое ASP.NET будет ждать, не отправляя запросов, до того как прервать сессию. Значение timeout можно устанавливать как из web.config так и из кода Session.Timeout = 20; Для безопасного хранения Session State необходимо использовать безопасное хранение кукисов: Request.Cookies[ASP.NET_SessionId].Secure = true;

Вопросы? 31