- •Архитектуры и модели программ и знаний
- •Web-программирование для .NET
- •Содержание
- •Часть 1: Обзор
- •История
- •Недостатки традиционных
- •Web-сервисы –
- •Web-сервисы –
- •Распределенные Web- приложения
- •Часть 2: Архитектура
- •Архитектура .NET
- •модель
- •Конфигурация 1/2
- •Конфигурация 2/2
- •Часть 3: Разработка Web- сервисов
- •Основы разработки Web-
- •Инфраструктура Web-сервисов
- •Код и синтаксис
- •Пример .asmx - файла
- •Пространство имен System.Web.Services 1/2
- •Пространство имен System.Web.Services 2/2
- •Публикация Web-сервиса
- •Поиск Web-сервиса (“открытие” – discovering)
- •Утилита Disco.exe
- •Утилита WSDL.exe
- •Часть 4: Использование Web- сервисов
- •Модель приложения
- •Использование Web-
- •Вызов: HTTP-GET и HTTP-
- •Вызов: HTTP-SOAP
- •Использование Web- сервисов
- •WSDL 1/2
- •WSDL 2/2
- •Пример WSDL-файла
- •Часть 5: Более развитые Web- сервисы
- •Управление состояниями
- •Модель безопасности
- •Транзакции 1/2
- •Транзакции 2/2
- •Модель исполнения
- •Использование Web-сервисов через пользовательский интерфейс
- •Пример (.aspx)
- •Пример
- •Технология Silverlight
- •Вопросы и домашнее задание к лекции 20
Архитектура .NET |
|||
Framework |
|
||
Microsoft .NET Framework |
|||
ASP.NET |
Windows Forms |
||
Web |
Web |
||
|
|||
Forms |
Services |
|
|
Services Framework |
|||
Base |
Data |
Debug ... |
|
Common Language Runtime |
|||
|
System Services |
||
|
(C) Сафонов В.О. 2012 |
||
модель
Source |
|
|
|
|
|
CIL & |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Compiler |
|
Metadata |
|
||||
Code |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Common Language Runtime |
|
|
|
|||||
|
|
|
|||||||
|
Execution Engine |
Class Loader |
Class |
||||||
|
|
|
|
|
Lib |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JIT Compiler
Managed
Execution
native
Code
(C) Сафонов В.О. 2012
Конфигурация 1/2
Концепции и архитектура
Файл Web.Config
Иерархическая архитектура конфигурации
Влияет на текущую директорию и все поддиректории
Root |
Web.Config |
Dir |
|
Dir1 Sub
Dir2
(C) Сафонов В.О. 2012
Конфигурация 2/2
Файл Web.Config
Основан на XML
Хранится в директории приложенияКонфигурирование – по умолчанию и
явное
Настраиваемый файл Web.Config
Настраиваемый обработчик раздела
конфигурации
Класс WebServicesConfiguration
Содержит информацию о конфигурацииСекция <webServices> файла Web.Config
(C) Сафонов В.О. 2012
Часть 3: Разработка Web- сервисов
Основы разработки Web-сервисовИнфраструктура Web-сервисовКод и синтаксис
Пространство имен Web-сервисовПубликация Web-сервисовпоиск Web-сервисов
(C) Сафонов В.О. 2012
Основы разработки Web-
сервисов
Файл .asmx
Виртуальный путь к ASP.NET- приложению
Отдельное решение или часть существующего решения
Инфраструктура Web-сервисов
Поиск, объявление, формат
Microsoft Visual Studio.NET
Microsoft Visual Basic.NET, C#, Managed C++
(C)Сафонов В.О. 2012
Инфраструктура Web-сервисов
Request .vsdisco |
Discovery |
Return disco (XML) |
Web Service |
Request WSDL |
|
|
Description |
Web Service |
||
Client |
|||
Return WSDL (XML) |
|
||
|
|
Request .asmx
Protocol
Return response (XML)
(C) Сафонов В.О. 2012
Код и синтаксис
Директива WebService
Установки компилятора для ASP.NET
<%@ WebService Language=languageName Class=className%>
Атрибут WebMethod (помечает метод как общедоступный метод Web-сервиса)
Синтаксис объявления
Объявление в XML-формате - Код на C#
<%@ WebService Class=“MyClass.MyWebService“ %>
<%@ WebService Language=“C#“ Class=“MathService“ %>
using System.Web.Services;
public class MathService : WebService { [ WebMethod ]
...
•Сравните с Java 1.5: @Webservice (используются аннотации) – введено под влиянием .NET
(C)Сафонов В.О. 2012
Пример .asmx - файла
<%@ WebService Language=“C#“ Class=“MathService“ %>
using System;
using System.Web.Services;
public class MathService
{
[WebMethod]
public int Subtract(int a, int b)
{
return a - b;
}
public int Subtract_vs(int a, int b)
{
return b - a;
}
}
(C) Сафонов В.О. 2012
Пространство имен System.Web.Services 1/2
WebService
Базовый класс для Web-сервисовОбеспечивает базовую
функциональность
например, WebService.Session
WebServiceAttribute
Не обязательный класс (дополнительная информация)
WebMethodAttribute
[ WebMethod ]
Помечает метод как метод Web-сервиса
(C) Сафонов В.О. 2012
