Общие сведения о службах приложений ASP.NET
Обновлен: Ноябрь 2007
Службы приложений ASP.NET — это встроенные веб-службы, обеспечивающие доступ к таким возможностям, как проверка подлинности с помощью форм, роли и свойства профилей. Эти службы являются частью сервисноориентированной архитектуры (SOA), в которой приложение состоит из одной или нескольких служб на сервере и одного или нескольких клиентов. Дополнительные сведения об архитектуре SOA см. на веб-узле MSDN в статье Основные сведения о сервисноориентированной архитектуре.
Важной особенностью служб приложений ASP.NET является то, что они доступны для различных клиентских приложений, а не только для веб-приложений ASP.NET. Службы приложений ASP.NET доступны для любого клиента на платформе .NET Framework. Кроме того, любые клиентские приложения, которые могут отправлять и получать сообщения в формате SOAP, могут использовать службы приложений ASP.NET.
В этой статье содержатся следующие подразделы:
Сценарии
Базовые сведения
Примеры
Связанные классы
Дополнительные ресурсы
Сценарии
Клиентские приложения для служб приложений ASP.NET могут быть различных типов и работать на разных операционных системах. Клиенты подразделяются на следующие типы:
Клиенты AJAX. Это веб-страницы ASP.NET (ASPX-файлы), которые запускаются в обозревателе и обращаются к службам приложений из клиентского сценария. Клиенты AJAX для обмена данными обычно используют формат JSON. Дополнительные сведения см. в разделе Использование веб-служб в технологии AJAX ASP.NET.
Клиенты .NET Framework. Это приложения Windows на основе платформы .NET Framework, которые обращаются к службам приложений по протоколу HTTP с помощью инфраструктуры модели поставщика и используют протокол JSON для обмена данными. Дополнительные сведения см. в разделе Общие сведения о службах клиентских приложений.
Примечание. Модель поставщика адаптирует систему членства к использованию различных хранилищ данных или хранилищ данных с разными схемами. Дополнительные сведения см. в разделе Поставщики членства.
Клиенты SOAP. Это клиенты, обращающиеся к службам приложений через протокол SOAP 1.1. Такая возможность полезна для клиентов, выполняющихся на других операционных системах или с помощью других технологий, например Java-приложений. Дополнительные сведения см. в разделе Пошаговое руководство. Использование служб приложений ASP.NET.
На следующем рисунке показано, как различные клиенты взаимодействуют со службами.
Связь веб-служб
Базовые сведения
Службы приложений, предоставляемые ASP.NET, позволяют клиентским приложениям осуществлять доступ и разделять данные, являющиеся частью веб-приложения. ASP.NET предоставляет следующие службы приложений:
Служба проверки подлинности. Эта служба позволяет пользователям войти в приложение. Служба принимает учетные данные пользователя и возвращает билет проверки подлинности (cookie). Дополнительные сведения см. в разделе Общие сведения о проверке подлинности форм ASP.NET.
Служба ролей. Эта служба на основе сведений, которые предоставляются поставщиком ролей ASP.NET, определяет связанные с приложением роли для пользователей, прошедших проверку подлинности. Такая возможность может быть полезной, если в зависимости от роли пользователя необходимо разрешить доступ к определенным ресурсам или предоставить специальный пользовательский интерфейс. Дополнительные сведения см. в разделе Управление авторизацией с помощью ролей.
Служба профилей. Эта служба обеспечивает сведения по каждому пользователю, например, хранящийся на сервере профиль пользователя. Благодаря этому приложение может обращаться к параметрам пользователя в разное время и из различных клиентских компонентов пользовательского интерфейса. Дополнительные сведения см. в разделе Общие сведения о свойствах профилей ASP.NET.
Клиенты служб приложений ASP.NET
Этот раздел содержит сведения о типах клиентских приложений, которые могут использовать службы приложений ASP.NET, и о взаимодействии службы приложений с клиентом.
Клиенты AJAX
Клиенты AJAX (веб-страницы ASP.NET, использующие AJAX) обмениваются данными со службами приложений по протоколу HTTP с помощью запросов POST. Данные передаются в формате JSON. Клиентское приложение взаимодействует со службами приложений через прокси-классы клиентских сценариев. Прокси-классы создаются сервером и загружаются в обозреватель как часть любой страницы, которая вызывает службу приложений. Дополнительные сведения см. в разделе Использование веб-служб в технологии AJAX ASP.NET.
Клиенты .NET Framework
Службы приложений ASP.NET обмениваются данными с клиентами .NET Framework по протоколу HTTP с помощью запросов POST. Данные передаются в формате JSON. Клиентское приложение взаимодействует со службами приложений с помощью модели поставщика .NET Framework. Для служб приложений ASP.NET модель поставщика использует классы клиентов .NET Framework и связанных поставщиков членства, которые хранят и извлекают учетные данные пользователей из источника данных. Например, к таким классам относится SqlMembershipProvider.
Связь между клиентом и сервером является синхронной. Дополнительные сведения см. в разделе Общие сведения о службах клиентских приложений. Службы приложений реализуются классами, определенными в пространстве имен System.Web.ClientServices.Providers.
Для доступа к службе приложений клиентское приложение .NET Framework должно быть настроено соответствующим образом. Используется та же конфигурация сервера, что и для служб приложений клиентов AJAX.
Дополнительные сведения о модели поставщика см. в разделах Модель поставщика ASP.NET 2.0: введение в модель поставщика и Знакомство с членством.
Клиенты SOAP
Из любого клиентского приложения, работающего в любой операционной системе, поддерживающей протокол SOAP 1.1, можно получить доступ к службам ASP.NET проверки подлинности, профилей и ролей. Службы приложений ASP.NET построены на платформе Windows Communication Foundation (WCF) и обмениваются данными с клиентами в формате SOAP. Дополнительные сведения см. на веб-узле MSDN в разделе Инфраструктура веб-служб XML.
Связь между клиентом и службами приложений выполняется с помощью прокси-классов, которые выполняются на стороне клиента и представляют службы приложений. Можно создавать прокси-классы, поддерживающие службы приложений ASP.NET, с помощью Средства метаданных ServiceModel (svcutil.exe). Дополнительные сведения см. в разделе Пошаговое руководство. Использование служб приложений ASP.NET.
Поддерживаются следующие прокси-классы:
Клиент службы проверки подлинности. Созданный прокси-класс клиента службы проверки подлинности позволяет использовать службу проверки подлинности из любого клиентского приложения, которое может отправлять и читать сообщения SOAP. Для проверки подлинности пользователей приложения ASP.NET и приложений, не построенных на платформе .NET Framework, могут использоваться одни и те же учетные данные пользователей. Билеты проверки подлинности, выдаваемые службой, создаются в виде HTTP-cookies и являются совместимыми с проверкой подлинности ASP.NET с помощью форм. Дополнительные сведения см. в разделе Практическое руководство. Включение службы проверки подлинности WCF. Дополнительные сведения о билетах проверки подлинности см. в разделе FormsAuthenticationTicket.
Примечание. Служба проверки подлинности не поддерживает внедрение билета проверки подлинности в URL-адрес. Поэтому на стороне клиента должны поддерживаться и быть разрешены файлы cookies для сохранения билета проверки подлинности.
Клиент службы ролей. Созданный прокси-класс клиента службы ролей позволяет использовать службу ролей из любого клиентского приложения, которое может отправлять и читать сообщения SOAP. Дополнительные сведения см. в разделе Практическое руководство. Включение службы роли WCF.
Клиент службы профилей. Созданный прокси-класс клиента службы профилей позволяет использовать службу профилей из любого клиентского приложения, которое может отправлять и читать сообщения SOAP. Пользователям приложения ASP.NET и приложений, не использующих .NET Framework, доступны одни и те же параметры пользователей. Дополнительные сведения см. в разделе Практическое руководство. Включение службы профилей WCF.
К началу
Примеры
Примеры вызовов службы приложений из клиентов AJAX содержатся в следующих разделах:
Примеры вызовов службы приложений из клиентов .NET Framework содержатся в следующих разделах:
Практическое руководство. Доступ к ролям пользователей с помощью служб клиентских приложений
Пошаговое руководство. Использование служб клиентских приложений
Примеры вызовов службы приложений из клиентов SOAP содержатся в следующих разделах:
Практическое руководство. Включение службы проверки подлинности WCF
Пошаговое руководство. Использование служб приложений ASP.NET
К началу
Связанные классы
В следующих таблицах перечислены основные типы, связанные с вызовами служб приложений ASP.NET из клиентских приложений.
Пространства имен для клиента
В следующей таблице перечислены пространства имен, содержащие классы и типы, которые используются с клиентским сценарием для вызова служб приложений ASP.NET.
Имя |
Описание |
---|---|
Содержит типы, которые обеспечивают доступ сценария в приложениях ASP.NET с поддержкой AJAX к службам проверки подлинности, профилей и ролей. Microsoft AJAX (библиотека) включает в том числе и пространство имен Sys.Services. |
Пространства имен для сервера
В следующей таблице перечислены пространства имен, содержащие классы и типы, предназначенные для программирования служб приложений ASP.NET на стороне сервера.
Имя |
Описание |
---|---|
Предоставляет классы для доступа к службам веб-приложений. |
|
Предоставляет классы, поддерживающие доступ приложений Windows к службам ASP.NET проверки подлинности, ролей и профилей. |
|
Содержит поставщиков клиентских служб и другие классы, поддерживающие доступ приложений Windows к службам веб-приложений. |
К началу
Дополнительные источники
Что такое Windows Communication Foundation
Основные сведения о сервисноориентированной архитектуре
К началу
См. также
Задачи
Практическое руководство. Включение службы проверки подлинности WCF
Практическое руководство. Включение службы роли WCF
Практическое руководство. Включение службы профилей WCF