Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Timer – автоматически посылает запросы на сервер через определенное время. ⇐ ПредыдущаяСтр 7 из 7
<asp:Timer ID="Timer1" runat="server" Interval="60000" /> UpdateProgress ASP.NET AJAX содержит также элемент управления UpdateProgress, который работает совместно с частичной визуализацией в элементе управления UpdatePanel. По сути, элемент управления UpdateProgress позволяет отображать сообщение во время обновления, занимающего много времени. <asp:UpdateProgress ID="UpdateProgress1" runat="server"> <ProgressTemplate> <br /><br /> <div style="font-size: x-small"> Соединение с сервером ... <img src="ajax-loader.gif" alt="Загрузка" style="vertical-align:middle" /> <input id="Button1" onclick="AbortPostBack()" type="button" value="Отменить задачу" /> </div> </ProgressTemplate> </asp:UpdateProgress>
28. ASP.NET: MVC4-приложение, структура MVC4-приложения, назначение основных компонентов приложения, маршрутизация.
При создании проекта веб-приложения ASP.NET MVC компоненты MVC разделяются по папкам проекта, которые указаны на следующем рисунке. По умолчанию проекты MVC содержат следующие папки.
В дополнение к перечисленным выше папкам веб-приложение MVC использует код в файле Global.asax для установки глобальных параметров маршрутизации URL-адресов по умолчанию, а также использует файл Web.config для настройки приложения.
Структура проекта MVC 4 Справа в окне Solution Explorer (Обозреватель решений) мы можем увидеть структуру проекта MVC 4. Тот, кто раньше работал с предыдущими версиями MVC, заметит некоторые отличия. Итак, пройдемся по папкам и файлам проекта. App_Data В этой папке хранятся все необходимые файлы и ресурсы, например, базы данных, используемые приложением. После развертывания приложения только непосредственно приложение может работать с этой папкой, доступ же простых пользователей в эту папку запрещен. Файл Global.asax и папка App_Start В mvc 4 была добавлена папка App_Start. Она включает весь функционал конфигурации приложения, который в предыдущих версиях содержался в файле Global.asax, а теперь перенесен в набор статичных классов, вызываемых в Global.asax. Эти статичные классы содержат некоторую логику инициализации приложения, выполняющуюся при запуске. Файл Web.config Файл конфигурации приложения, который находится в корневой папке приложения Content Содержит некоторые вспомогательные файлы, которые не включают код на c# или javascript, и которые развертываются вместе с приложением. В частности, здесь могут размещаться файлы стилей css. Так, в этой папке вы увидите файл Site.css, который содержит стили приложения, а также папку с темами, включающую стили css и изображения для определенных тем. Controllers Содержит контроллеры - классы, отвечающие за работу приложения. По умолчанию здесь находятся два контроллера - HomeController и AccountController. Папки Images и Scripts Папки Images и Scripts содержат соответственно изображения и скрипты на JavaScript, используемые в приложении. По умолчанию эти папки уже содержат файлы, в частности, в папку Scripts уже помещены файлы библиотеки jQuery. Models Содержит модели, используемые приложением. По умолчанию здесь определена одна модель - AccountModel, которая представляет отдельную учетную запись. Views Здесь размещаются представления. Представления группированы по папкам, каждая из которых соответствует одному контроллеру. После получения и обработки запроса контроллер, отправляет одно из этих представлений, заполненных некоторыми данными, клиенту. Кроме того, имеется папка общих для контроллеров представлений - папка Shared Итак, мы посмотрели на некоторые базовые части проекта и теперь создадим первое приложение.
Модель — это часть приложения, отвечающая за базовую прикладную логику, также называемую бизнес-логикой. Объекты модели обычно получают данные из постоянного хранилища, например SQL Server, и выполняют над ними бизнес-логику. У каждого приложения своя модель, поэтому платформа не ограничивает создаваемые модели. Например, можно использовать объекты ADO.NET DataSet или DataReader, либо же использовать специализированный набор доменных объектов. Для работы с данными также можно использовать комбинацию типов объектов. Модель — это не какой-то конкретный класс или интерфейс. Класс относят к модели не потому, что от реализует какой-то интерфейс или является наследником определенного базового класса. Класс считается частью модели по роли, которую он играет в MVC-приложении ASP.NET, и его расположению в структуре папок приложения. Класс модели в MVC-приложении ASP.NET не обрабатывает ввод из браузера напрямую, как и не создает HTML-вывод в браузер. Платформа MVC для ASP.NET сопоставляет URL-адреса с классами, называемыми Контроллерами . Контроллеры обрабатывают входящие запросы, вводимые пользователями данные и их действия, а также реализуют необходимую логику приложений. Класс контроллера обычно вызывает отдельный компонент представления, который создает в качестве ответа HTML-разметку. Базовый класс для всех контроллеров — это ControllerBase, реализующий общую обработку MVC. Класс Controller наследует от класса ControllerBase и является реализацией контроллера по умолчанию. Класс Controller отвечает за следующие этапы обработки: · Поиск метода действия, который нужно вызвать, и проверка допустимости его вызова. · Получение значений, используемых как аргументы метода действия. · Обработка всех ошибок, которые могут возникнуть при выполнении метода действия. · Предоставление используемого по умолчанию класса WebFormViewEngine для отображения различных типов страниц ASP.NET (представлений). Хотя работа приложения MVC управляется главным образом контроллерами, но непосредственно пользователю приложение доступно в виде представления, которое и формирует внешний вид приложения. В ASP.NET MVC 4 представления представляют файлы с расширением cshtml/vbhtml/aspx/ascx, которые содержат код с интерфейсом пользователя, как правило, на языке html. Несмотря на то, что представление в основном состоит из кода html, оно не является html-страницей. При компиляции приложения на основе требуемого представления сначала генерируется класс на языке C#, а затем этот класс компилируется. Маршрутизация ASP.NET позволяет использовать URL-адреса, не сопоставляемые с определенными файлами на веб-узле. Поскольку URL-адрес не обязан быть сопоставлен с файлом, можно использовать URL-адреса, описывающие действия пользователя, что делает их более понятными. В маршрутизации ASP.NET можно определять шаблоны URL-адресов, сопоставляемых с файлами обработчиков запросов, но включать имена этих файлов в URL-адрес не обязательно. Кроме того, в шаблон URL-адреса можно включить заполнители, чтобы можно было передавать переменные данные в обработчик запроса без использования строки запроса для этой цели. Чтобы отобразить представление, используется метод View контроллера. Для передачи данных представлению используется свойство ViewData класса ViewPage. Это свойство возвращает объект ViewDataDictionary, содержащий учитывающие регистр строковые ключи. Для передачи данных в представление можно записывать данные в словарь, Если метод View вызывается без параметров (как в предыдущем примере), свойство ViewData объекта контроллера передается в представление, имеющее то же имя, что и метод действия. На странице представления можно обратиться к свойству ViewData, чтобы получить данные, переданные представлению. Свойство ViewData — это словарь, поддерживающий индексатор, принимающий ключи словаря.
29. ASP.NET: MVC4 Web API, структура Web API-приложения; назначение основных компонентов приложения, маршрутизация.
Цель создания веб-службы Web API - рефакторинг примера приложения, чтобы операции над данными приложения могли выполняться с применением запросов Ajax, результаты JSON которых будут использоваться для обновления HTML-разметки в браузере. Общая функциональность приложения останется той же самой, но не будут генерироваться полные HTML-документы для каждого взаимодействия между клиентом и сервером. Переход к одностраничному приложению увеличивает нагрузку на браузер, поскольку состояние приложения необходимо хранить на стороне клиента. Понадобится модель данных, которую можно обновлять, множество логических операций, предназначенных для трансформации данных, и набор элементов пользовательского интерфейса, который позволит пользователю запускать эти операции. Короче говоря, нужно воссоздать миниатюрную версию шаблона MVC в браузере. Для одностраничных приложений в Microsoft приспособлена библиотека Knockout, которая создает JavaScript-реализацию шаблона MVC (или, точнее, шаблона MVVM, настолько близкого к шаблону MVC, что я собираюсь трактовать их как одно и то же). В последующих разделах мы возвратимся к стороне ASP.NET MVC Framework примера приложения и применим библиотеку Knockout с целью создания простого приложения SPA.
http://professorweb.ru/my/ASP_NET/mvc/level8/8_3.php
30. WCF-сервисы: WSDL, хост, прокси, модели взаимодействия клиента и сервера, порядок разработки, принципы применения.
WCF-приложение: приложение сервис-ориентированной архитекуры (SOA). SOA: модульный подход к разработке программного обеспечения основанный на использовании сервисов (служб) со стандартизированными интерфейсами. Host: WindowsForms-приложение (C#, VB.NET), консольное-приложение (C#, VB.NET), IIS-сервер, WAS (Windows Activvation Services). Stub/Proxy: класс, генерируемый VS, для связи с сервисом. Протоколы связи: HTTP, TCP/IP, Named Pipe, MSMQ, можно написать собственный протокол. Прокси – программа -"посредник", выступающая и как клиент, и как сервер одновременно с целью создания запросов от имени других клиентов. WSDL: Web Services Description Language – XML-язык описания сервисов.
1. Модели WCF Однонаправленный вызов
вопрос/ответ
дуплекс поток подписчик/издатель Модели сервера: PerCall - сервис на один вызов (не помнит своего состояния, хорошо масштабируется); Single – один экземляр сервиса, программист обеспечивает многопоточность; PerSession - сервис на один сеанс, экземпляр создается для каждого подключения (помнит свое состояние, Timeout). Windows Azure: серверная операционная система, предоставляющая инфраструктуру для разработки и размещения в облаке интернет-сервисов. Облачные технологии – это технологии обработки данных, в которых компьютерные ресурсы предоставляются Интернет-пользователю как онлайн-сервис. Самой главной функцией облачных технологий является удовлетворение потребностей пользователей, нуждающихся в удаленной обработке данных.
|
Последнее изменение этой страницы: 2019-04-19; Просмотров: 227; Нарушение авторского права страницы