Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Динамическое формирование форм по ходу выполнения asp. net-сценария



Как вся asp.net-страница (Page), так и некоторые элементы управления имеют коллекцию Controls, через которую можно управлять набором элементов управления, доступных и видимых пользователю. Примером элемента управления, который может содержать внутри себя другие элементы, является элемент управления Panel.

Далее приводится пример обработчика, который заполняет содержимое элемента Panel.

protected void Button2_Click(object sender, EventArgs e)

{

// удаляем все элементы управления, ранее находившиеся в панели

MyPanel.Controls.Clear();

// создаем 5 текстовых полей и добавляем их в панель

for (int i = 0; i < 5; i++)

{

      TextBox tb = new TextBox();

      tb.ID = "tb" + i;

      MyPanel.Controls.Add(tb);

}

}

 

22. ASP.NET: серверные элементы управления, пользовательские элементы управления.

 

Серверные веб-элементы управления ASP.NET — это объекты на веб-страницах ASP.NET, которые выполняются при запросе страницы и отображают разметку в браузере, что они привязаны не к разметке, а к функциональности, которую нужно обеспечить. Многие серверные веб-элементы управления напоминают знакомые HTML-элементы, такие как кнопки и текстовые поля. Другие элементы управления реализуют более сложное поведение, например, элемент управления «календарь на месяц» и элементы управления, которые управляют подключениями к данным.

Все web-элементы управления можно разделить на несколько групп:

  • Простые элементы управления (кнопка, текстовое поле, список);
  • Полнофункциональные элементы управления (календарь, wizard, AdRotator(элемент для просмотра баннеров) и пр. );
  • Элементы управления для работы с источниками данных (GridView);
  • Элементы управления для контроля ввода;
  • Элементы управления для входа в систему.
  • Пользовательские элементы управления

Пользовательский веб-элемент управления ASP.NET аналогичен готовой веб-странице ASP.NET (ASPX-файлу), содержащей как страницу пользовательского интерфейса, так и код. Создание пользовательского элемента управления во многом напоминает создание сначала собственно страницы ASP.NET с последующим добавлением к ней необходимой разметки и необходимых дочерних элементов управления. Пользовательский элемент управления, как и страница, может включать в себя код для управления его же содержимым, включая выполнение задач, например привязку данных.

Помимо использования серверных элементов управления в страницах ASP.NET, можно создавать свои собственные многократно используемые элементы управления с помощью того же метода, который использовался для создания веб-страниц ASP.NET. Эти элементы управления называются пользовательскими элементами управления.

Пользовательский элемент управления является своего рода составным элементом управления, похожим по принципу работы на веб-страницу ASP.NET — в пользовательский элемент управления можно добавлять существующие серверные веб-элементы управления и разметку, а также задавать свойства и методы для элемента управления. Пользовательские элементы управления можно помещать в веб-страницы ASP.NET, где они будут действовать как одно целое.

 

Пользовательские элементы управления отличаются от веб-страницы ASP.NET:

· Расширением имени файла; пользовательский элемента управления имеет расширение ASCX.

· Вместо директивы @ Page пользовательский элемент управления содержит директиву @ Control, определяющую конфигурацию и другие свойства.

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

· В пользовательском элементе управления отсутствует элемент html, body или form. Эти элементы должны находиться на странице, на которой размещены элементы управления.

  • ascx – файлы не могут быть запрошены браузером. Могут только внедряться в другие страницы.
  • Все User Controls являются наследниками System . Web . UI . UserControl . Классы System . Web . UI . UserControl и System . Web . UI . UserControl . Page наследники класса TemplateControl.
  • В UserControl  доступны все объекты Application, Session, Request, Response и пр.

·

В пользовательском элементе управления можно использовать те же элементы HTML (кроме элементов html, body или form) и веб-элементы управления, что и на веб-странице ASP.NET. Например, при создании пользовательского элемента управления, который используется как панель инструментов, можно поместить в этот элемент управления набор серверных веб-элементов управления Button и задать обработчики событий для кнопок.

User Controls: часть aspx-страницы, которая может содержать статический HTML и серверные web-элементы. 

Custom Server Control:скомпилированные классы, которые программно генерируют свой html-код. Custom Server Control всегда предварительно компилируются в DLL. Custom Server Control может унаследовать внешний вид у другого серверного элемента или воспроизводить свой собственный.

Основное назначение: создание повторно используемого кода.  

Создание User Controls: Add New Item/Web User Control.

23. ASP.NET: кэширование в ASP.NET, назначение и виды кэширования, послекэшевая подстановка, политика устаревания данных.

 

Кэширование: техника хранения в памяти копий некоторой информации для повторного применения.

Кэширование: повышение производительности и масштабируемости приложения. 

Кэширование: два вида: кэширование вывода и кэширование данных.   

Кэширование вывода: можно сохранить копию сгенерированной страницы отправленной клиенту; следующий запрос на такую же страницу не потребует ее генерации – используется страница из кэша. Возможно кэширование фрагментов страницы.    

Кэширование данных: программист может сохранить в кэше данные (например, в виде DataSet); страницы могут проверять наличие данных в кэше и использовать ее; возможно кэширование источников данных (DataSource, ObjectDataSource и XMLDataSource). В этом случае управление кэшем осуществляется автоматически.

Кэширование IIS: неASP статические ресурсы (например, графика), используемые ASP.NET-приложением, кэшируется IIS и не требует дополнительных усилий от программиста.

Кэширование: понятие реального времени в информационных системах.

Кэширование ввода : OutputCashe Duration VaryByParam = None  

Если OutputCashe Duration = 10, то не обязательно 10 сек будет страница храниться в кэше: если для IIS потребуется память, то он может освободит кэш.

OutputCashe VaryByParam = *: позволяет привязать кэшируемую страницу к запросу. 

OutputCashe VaryByParam = *: работает непредсказуемо, т.к. формируются в POST много параметров которые не видимы . 

Параметр OutputCashe VaryByParam = “ Parm 1”  позволяет кэшировать страницы, вызываемые по запросу с различными значениями параметра Parm 1. Остальные параметры в расчет не берутся. Реально заметить можно только для двух сессий.

Параметр OutputCashe VaryByCustom . Настраиваемое управление кэшем

Параметр OutputCashe VaryByAcceptHeader (в кэше страницы с разными заголовками запроса)

Кэширование части страницы: фрагментарное кэширование (используется для пользовательских элементов управления), послекэшевая постановка (не может быть использована для пользовательских элементов управления. 

Послекэшевая постановка( Substitution ) Указывает раздел на кэшируемой веб-странице, который исключен из кэширования. В этом расположении осуществляется извлечение динамического содержимого, которое заменяется элементом управления Substitution.

Кэширование данных

Если в объект Session ничего не записано, то при новом запросе создается новая сессия

Для кэширования данных применяется объект Cache.

1. Cache безопасный для потоков, если сами объекты являются безопасными (не требует блокирования);

2. элементы Cache удаляются автоматически;

3. элементы Cache поддерживают зависимости;

4. Cache привязан к домену приложения (после перезапуска домена – новый кэш);

5. Cache не разделяется в серверном кластере. 

Session тоже сохраняется в Cache со скользящей политикой устаревания равной timeout.  

1. Ниболее важное решение, которое следует принять при помещении объекта в кэш - это политика устаревания. Политики устаревания данных в кэше:

- политика скользящего устаревания;

- политика абсолютного устаревания.

2. Политика скользящего устаревания: задается время неиспользования элемента хранения

Записать в кэш и хранить с политикой устаревания 10 сек. Политика устаревания 10 сек. – не используется в течении 10 сек.  

TimeSpan – объект для представления интервала времени 

3. Политика абсолютного устаревания

Записать в кэш и хранить с политикой абсолютного устаревания 10 сек. Политика абсолютного устаревания 10 сек. – ровно через 10 сек. Кэш устареет.  


 

 

24. ASP.NET: мастер-страницы, назначение и принцип применения.

 

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

 

http://professorweb.ru/my/ASP_NET/sites/level1/1_7.php

 

 

25. ASP.NET: web-сервисы, WSDL, SOAP, прокси, порядок разработки, принципы применения.

 

Веб сервис (Web service) - это любая программно-аппаратная система, доступная посредством сети и использующая стандартизованную систему XML-сообщений. Проще говоря, веб сервис - это всё, к чему можно обратиться через сеть, используя специальный формальный язык, и получить ответ (некие потенциально полезные пользователю данные).

WSDL: Web Services Description Language – XML-язык описания сервисов.

SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам; вплоть до спецификации 1.2) — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур.

прокси

Прокси – программа -"посредник", выступающая и как клиент, и как сервер одновременно с целью создания запросов от имени других клиентов.

 

26. ASP.NET: http-обаботчики ASP.NET, назначение, порядок разработки, принципы применения. 

 

Еще одно средство расширения ASP.NET, которое может быть использовано при создании приложений, представляет собой обработчик, который обслуживает определенный тип запросов и отвечает за формирование HttpResponse на основе полученного HttpRequest. Для создания подобного обработчика необходимо определить класс, который реализует интерфейс IHttpHandler:

public interface IHttpHandler

{

void ProcessRequest(HttpContext context); bool IsReusable { get; }

}

public class plus : IHttpHandler

{

 

   public void ProcessRequest(HttpContext context)

   {

       try

       {

           context.Response.ContentType = "text/plain";

           context.Response.Write(int.Parse(context.Request["X"]) + int.Parse(context.Request["Y"]));

       }

       catch

       {

           context.Response.Write("error");

       }

   }

 

   public bool IsReusable

   {

       get

       {

           return false;

       }

   }

}

Метод ProcessRequest собственно и определяет сам обработчик запросов, а свойство IsReusable позволяет среде выполнения узнать, может ли экземпляр класса обработчика быть повторно использован для обработки других запросов. Если это свойство имеет значение false, то для каждого запроса будет создаваться новый экземпляр.

Чтобы среда выполнения ASP.NET могла использовать созданный обработчик, необходимо сконфигурировать его в файле web.config:

<httpHandlers>

<add verb="" path="" type="" validate="bool" />

<remove verb="" path="" />

<clear/>

</httpHandlers>

 

Параметр path задает маску для ресурсов, запросы к которым будут обслуживаться данным обработчиком, verb определяет типы HTTP-запросов, которые будут обслуживаться обработчиком, например, "GET, POST" или если будут обрабатываться любые типы запросов. Имя класса обработчика, который будет создаваться для обслуживания запросов, задается в атрибуте type. Элемент remove позволяет удалить из текущего контекста обработчики, которые были объявлены в конфигурационных файлах более высокого уровня. Если опциональный параметр validate установлен в false, то ASP.NET не будет предпринимать попытки загрузить класс обработчика до поступления первого запроса, который он должен обслужить. Это позволяет сократить время старта приложения, но задерживает сообщение о возможной ошибке в его конфигурации.

 

27. ASP.NET: AJAX-приложение, AJAX-элементы ASP.NET( ScriptManager, UpdatePanel, Timer, UpdateProgess).

 


ScriptManager

Все элементы управления ASP.NET AJAX нуждаются в ScriptManager. Если их разместить на странице, которая не содержит ScriptManager, работать они не будут и приведут к генерации исключения InvalidOperationException.

UpdatePanel

UpdatePanel - удобный элемент управления, который позволяет взять обычную страницу с серверной логикой и обеспечить ее обновление в лишенном мерцания стиле Ajax.


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 188; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.042 с.)
Главная | Случайная страница | Обратная связь