Некоторые проблемы внедрения Ajax технологии в ASP.NET проекты Методы их решения Правук Роман Разработчик программного обеспечения R.Pravuk@AVIcode.com.

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



Advertisements
Похожие презентации
CобытияCобытияСобытия События представляют собой механизм, посредством которого объект имеет возможность получать информацию о происходящем вне него. Объявление.
Advertisements

СОБЫТИЯ Лекция 1. Взаимодействие объектов 2 Взаимодействие между объектами A и B можно организовать двумя способами. 1.Объект A вызывает метод объекта.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Модель приложений.NET. Среда платформы Win32, в которой выполняется программа, называется ее процессом. Эта среда состоит из: адресного пространства,
Тренинг «Разработка веб-приложений на ASP.NET» Занятие 2 Страницы и элементы управления Гайдар Магдануров
Универсальность. Классы с родовыми параметрами. Под универсальностью (genericity) понимается способность класса объявлять используемые им типы как параметры.
ПОТОКИ Начальные сведенияПОТОКИ Начальные сведения.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – ASP.NET-процесс, пул, домен приложения, компиляция,
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Разработка web- приложений и ASP.NET. Web-приложения и web- серверы Web-приложение это набор взаимосвязанных файлов (*.htm, *.asp, *,aspx, файлов изображений.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Генерация разметки в ASP.NET 4.0 Андрей Веселов. Мета-теги Demo page Новые свойства класса Page: MetaKeywords и MetaDescription. public partial class.
Многопоточное программирование на Java Java Advanced.
Многопоточное программирование ( часть 1) Лекция 10.
Многопоточное программирование на Java Java Advanced.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Высокоуровневые методы информатики и программирования Лекция 10 События.
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Программная инженерия Андрей Дмитриев ©
Гайдар Магдануров Microsoft.
Транксрипт:

Некоторые проблемы внедрения Ajax технологии в ASP.NET проекты Методы их решения Правук Роман Разработчик программного обеспечения

Постановка задачи Постановка задачи Использование объекта ViewState Использование объекта ViewState Использование объекта SessionState Использование объекта SessionState Проблема создания экземпляра HttpApplication Проблема создания экземпляра HttpApplication

Постановка задачи Обновляемые элементы управления передаются в виде HTML обрамленного JSON Для обработки запросов используется класс Web.UI.Page или его наследники Отображение элементов управления распределено по времени (в несколько этапов)

Использование объекта ViewState

Использование объекта ViewState

Использование объекта SessionState

Использование объекта SessionState Отказаться от использования Реализация собственного SessionState Прерывание текущих запросов

Использование объекта SessionState

Использование объекта SessionState Отмена обработки события Асинхронное событие public delegate void AsyncEventDelegate(EventArgs e); public void OnAsyncEvent(){ Thread thread = new Thread(new ThreadStart(OnEvent)); thread.CurrentCulture = Thread.CurrentThread.CurrentCulture; thread.Start(); while(!IsCompleted){ if(!HttpContext.Current.Response.IsClientConnected){ thread.Abort(); HttpContext.Current.Response.End(); return; } Thread.Sleep(10); } private void OnEvent(){ HttpContext.Current = context; asyncEvent(args); IsCompleted = true; } Создание события protected override void OnInit(EventArgs e) { new AsyncEventWrapper(new AsyncEventDelegate(base.OnInit), e, Context).OnAsyncEvent(); }

Создание экземпляра HttpApplication HttpApplicationFactory.RecycleNormalApplicationInstance(HttpApplication app) private void RecycleNormalApplicationInstance(HttpApplication app) { if (this._numFreeAppInstances < 100) { lock (this._freeList) { this._freeList.Push(app); this._numFreeAppInstances++; return; } app.DisposeInternal(); }

Создание экземпляра HttpApplication Неблагоприятные условия

Создание экземпляра HttpApplication Критичные условия

Вопросы