Общие сведения о службах приложений ASP.NET

Visual Studio 2010

Обновлен: Ноябрь 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 для обмена данными. Дополнительные сведения см. в разделе Общие сведения о службах клиентских приложений.

    Bb547119.alert_note(ru-ru,VS.100).gifПримечание.

    Модель поставщика адаптирует систему членства к использованию различных хранилищ данных или хранилищ данных с разными схемами. Дополнительные сведения см. в разделе Поставщики членства.

  • Клиенты 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.

    Bb547119.alert_note(ru-ru,VS.100).gifПримечание.

    Служба проверки подлинности не поддерживает внедрение билета проверки подлинности в URL-адрес. Поэтому на стороне клиента должны поддерживаться и быть разрешены файлы cookies для сохранения билета проверки подлинности.

  • Клиент службы ролей. Созданный прокси-класс клиента службы ролей позволяет использовать службу ролей из любого клиентского приложения, которое может отправлять и читать сообщения SOAP. Дополнительные сведения см. в разделе Практическое руководство. Включение службы роли WCF.

  • Клиент службы профилей. Созданный прокси-класс клиента службы профилей позволяет использовать службу профилей из любого клиентского приложения, которое может отправлять и читать сообщения SOAP. Пользователям приложения ASP.NET и приложений, не использующих .NET Framework, доступны одни и те же параметры пользователей. Дополнительные сведения см. в разделе Практическое руководство. Включение службы профилей WCF.

К началу

Примеры вызовов службы приложений из клиентов AJAX содержатся в следующих разделах:

Примеры вызовов службы приложений из клиентов .NET Framework содержатся в следующих разделах:

Примеры вызовов службы приложений из клиентов SOAP содержатся в следующих разделах:

К началу

В следующих таблицах перечислены основные типы, связанные с вызовами служб приложений ASP.NET из клиентских приложений.

Пространства имен для клиента

В следующей таблице перечислены пространства имен, содержащие классы и типы, которые используются с клиентским сценарием для вызова служб приложений ASP.NET.

Имя

Описание

Пространство имен Sys.Services

Содержит типы, которые обеспечивают доступ сценария в приложениях ASP.NET с поддержкой AJAX к службам проверки подлинности, профилей и ролей. Microsoft AJAX (библиотека) включает в том числе и пространство имен Sys.Services.

Пространства имен для сервера

В следующей таблице перечислены пространства имен, содержащие классы и типы, предназначенные для программирования служб приложений ASP.NET на стороне сервера.

Имя

Описание

System.Web.ApplicationServices

Предоставляет классы для доступа к службам веб-приложений.

System.Web.ClientServices

Предоставляет классы, поддерживающие доступ приложений Windows к службам ASP.NET проверки подлинности, ролей и профилей.

System.Web.ClientServices.Providers

Содержит поставщиков клиентских служб и другие классы, поддерживающие доступ приложений Windows к службам веб-приложений.

К началу

Показ: