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


Timer – автоматически посылает запросы на сервер через определенное время.



<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 содержат следующие папки.

  • App_Data — физическое хранилище данных. Эта папка выполняет те же функции, что и для веб-сайтов ASP.NET, которые используют страницы веб-форм.
  • Content — рекомендуемое расположение для добавления файлов содержимого (например, файлов каскадных таблиц стилей, изображений и пр.). В общем случае папка Content предназначена для статических файлов.
  • Controllers — рекомендуемое расположение для контроллеров. Имена контроллеров в платформе MVC должны оканчиваться на "Controller", например HomeController, LoginController или ProductController.
  • Models — предназначена для классов, которые представляют модель приложения для веб-приложения MVC. Эта папка обычно содержит код, который определяет объекты и логику взаимодействия с хранилищем данных. Сами объекты модели обычно располагаются в отдельных библиотеках классов. Тем не менее при создании нового приложения классы можно расположить в этой папке, чтобы переместить их в отдельные библиотеки на более поздней стадии разработки.
  • Scripts — рекомендуемое расположение для файлов скриптов, поддерживающих приложение. Эта папка по умолчанию содержит файлы платформы ASP.NET Ajax и библиотеку jQuery.
  • Views — рекомендуемое расположение для представлений. Представления используют файлы ViewPage (ASPX), ViewUserControl (ASCX) и ViewMasterPage (MASTER) в дополнение к остальным файлам, которые связаны с отображением представлений. Папка Views содержит папки для всех контроллеров. Название папки состоит из префикса имени контроллера. Например, если существует контроллер с именем HomeController, то в папке Views будет вложенная папка с именем Home. При загрузке представления платформой ASP.NET MVC в папке "Views\имя_контроллера" по умолчанию выполняется поиск файла ViewPage (ASPX), который имеет имя требуемого представления. По умолчанию в папке Views находится папка Shared, которая не соответствует ни одному контроллеру. Папка Shared используется для представлений, которые используются на нескольких контроллерах. Например, главную страницу веб-приложения можно поместить в папку Shared.

В дополнение к перечисленным выше папкам веб-приложение 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; Просмотров: 210; Нарушение авторского права страницы


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