Разработка и развертывание служб WCF Data Services

Этот раздел содержит сведения о разработке и развертывании Службы WCF Data Services. Другие базовые сведения о Службы WCF Data Services см. в разделах Приступая к работе со службами WCF Data Services и Общие сведения о службах WCF Data Services.

Разработка служб данных WCF

При использовании Службы WCF Data Services для создания службы данных, поддерживающей Протокол Open Data Protocol (OData), необходимо во время разработки выполнить приведенные ниже основные задачи.

  1. Определение модели данных

    Службы Службы WCF Data Services поддерживают различные поставщики служб данных, позволяющие определить модель данных на основе данных из различных источников данных, от реляционных баз данных до данных с поздним связыванием. Дополнительные сведения см. в разделе Поставщики службы данных (WCF Data Services).

  2. Создание службы данных

    Самая базовая служба данных предоставляет класс, производный от класса DataService<T>, с типом T, представляющим имя контейнера сущностей, квалифицированное пространством имен. Дополнительные сведения см. в разделе Служба данных (WCF Data Services).

  3. Настройка службы данных

    По умолчанию службы Службы WCF Data Services запрещают доступ к ресурсам, предоставляемым контейнером сущностей. Интерфейс DataServiceConfiguration позволяет настроить доступ к ресурсам и операциям службы, задать поддерживаемую версию OData, а также определить другие особенности поведения службы, такие как использование пакетирования или максимальное количество сущностей, которые могут быть возвращены в одном канале ответа. Дополнительные сведения см. в разделе Настройка службы данных (службы WCF Data Services).

В этом разделе описывается в первую очередь разработка и развертывание служб данных с помощью Visual Studio. Сведения о гибких возможностях Службы WCF Data Services по предоставлению данных в виде каналов OData см. в разделе Служба данных (WCF Data Services).

Выбор веб-сервера развертывания

При разработке службы данных WCF в качестве приложения ASP.NET или веб-сайта ASP.NET с помощью Visual Studio имеется выбор из веб-серверов, на которых можно запускать службы данных во время разработки. Следующие веб-серверы интегрируются с Visual Studio, что упрощает тестирование и отладку служб данных на локальном компьютере.

  1. Локальный сервер служб IIS

    При создании службы данных, которая является приложением ASP.NET или веб-сайтом ASP.NET, работающим на базе служб IIS, рекомендуется разрабатывать и тестировать службу данных с помощью IIS на локальном компьютере. Запуск службы данных в IIS упрощает трассировку HTTP-запросов во время отладки. Это также позволяет заранее определить необходимые права, которые требуются службам IIS для доступа к файлам, базам данных и другим ресурсам для службы данных. Для запуска службы данных в IIS необходимо проверить наличие и правильную настройку служб IIS и Windows Communication Foundation (WCF), а также предоставить доступ учетным записям IIS к файловой системе и базам данных. Дополнительные сведения см. в разделе Как разработать службу данных WCF Data Service, работающую на IIS.

    Примечание

    Необходимо запустить Visual Studio с правами администратора, чтобы позволить среде разработки настроить локальный сервер IIS.

  2. Сервер разработки Visual Studio

    В состав Visual Studio входит встроенный веб-сервер, сервер разработки Visual Studio, который является веб-сервером по умолчанию для проектов ASP.NET. Этот веб-сервер предназначен для запуска проектов ASP.NET на локальном компьютере во время разработки. В разделе Краткое руководство по службам WCF Data Services показано создание службы данных, работающей на сервере разработки Visual Studio.

    При разработке службы данных с помощью сервера разработки Visual Studio следует знать о следующих ограничениях.

    • Доступ к этому серверу возможен только с локального компьютера.

    • Этот сервер прослушивает localhost и указанный порт, отличный от порта 80, который по умолчанию настроен для HTTP-сообщений. Дополнительные сведения см. в разделе Web Servers in Visual Studio for ASP.NET Web Projects.

    • На этом сервере служба данных работает в контексте текущей учетной записи пользователя. Например, при запуске пользователя уровня администратора служба данных, работающая на сервере разработки Visual Studio, будет иметь права уровня администратора. Это может обеспечить службе данных доступ к ресурсам, для которых у нее не будет прав после развертывания на сервере служб IIS.

    • На этом сервере отсутствуют дополнительные возможности служб IIS, такие как проверка подлинности.

    • Этот сервер не может обрабатывать потоки HTTP частями, которые по умолчанию отправляются клиентом Службы WCF Data Services при обращении к большим объемам двоичных данных из службы данных. Дополнительные сведения см. в разделе Потоковый поставщик (службы WCF Data Services).

    • У этого сервера есть проблемы с обработкой символа точки (.) в URL-адресах, хотя этот символ и поддерживается Службы WCF Data Services в значениях ключа.

    Совет

    Хотя вы можете использовать сервер разработки Visual Studio для тестирования служб данных во время разработки, следует повторно их протестировать после развертывания на производственном веб-сервере, где запущены службы IIS.

  3. Среда разработки Windows Azure

    В состав средств Windows Azure для Visual Studio входит интегрированный набор инструментов для развертывания служб Windows Azure в Visual Studio. С помощью этих средств вы можете разрабатывать службы данных, которые могут развертываться на Windows Azure, а также тестировать службу данных на локальном компьютере перед развертыванием. Использование этих средств при развертывании службы данных, работающей на платформе Windows Azure, с помощью Visual Studio. Загрузить средства Windows Azure для Visual Studio вы можете из центра загрузки Майкрософт. Дополнительные сведения разработке службы данных, которая работает в Windows Azure, см. в публикации (на английском языке) Deploying an OData Service in Windows Azure.

Советы по разработке

При разработке службы данных необходимо учитывать следующее:

  • Определите требования по безопасности к службе данных, если планируется проверять подлинность пользователей или ограничивать доступ определенным пользователям. Дополнительные сведения см. в разделе Защита служб WCF Data Services.

  • Программа проверки HTTP может быть очень полезной при развертывании службы данных, позволяя проверять содержимое сообщений запросов и ответов. Любой планировщик сетевых пакетов, способный отображать необработанные пакеты, можно использовать для проверки HTTP-запросов к службе данных и ответов от нее.

  • При отладке службы данных, возможно, потребуется получать от службы данных больше сведений об ошибках, чем при нормальной работе. Дополнительные сведения об ошибках вы можете получить из службы данных, назначив свойству UseVerboseErrors в DataServiceConfiguration значение true и установив свойство IncludeExceptionDetailInFaults атрибута ServiceDebugBehavior класса службы данных в значение true. Дополнительные сведения см. в разделе публикация (на английском языке) Debugging WCF Data Services. Кроме того, вы можете включить трассировку в WCF для просмотра исключений, вызываемых уровнем сообщений HTTP. Дополнительные сведения см. в разделе Configuring Tracing.

  • Служба данных обычно разрабатывается как проект приложения ASP.NET, однако вы можете также создать службу данных как проект веб-узла ASP.NET в Visual Studio. Сведения о различиях между двумя типами проектов см. в разделе Web Application Projects versus Web Site Projects.

  • При создании службы данных с помощью диалогового окна Добавление нового элемента в Visual Studio служба данных будет размещаться ASP.NET в IIS. Несмотря на то что ASP.NET и IIS используются для размещения службы данных по умолчанию, поддерживаются и другие варианты размещения. Дополнительные сведения см. в разделе Размещение службы данных (службы WCF Data Services).

Развертывание служб данных WCF

Службы данных WCF обеспечивают гибкость в выборе процесса, в котором будет размещаться служба данных. Вы можете развертывать службу данных с помощью Visual Studio на следующих платформах:

Требования к развертыванию

При разработке службы данных необходимо учитывать следующее:

  • При развертывании службы данных, использующей поставщика Entity Framework для доступа к базе данных SQL Server, можно также распространить структуры данных, данные или и то и другое при развертывании службы данных. Для этого Visual Studio может автоматически создавать скрипты (файлы SQL) в целевой базе данных, и эти скрипты можно включить в пакет веб-развертывания приложения ASP.NET. Дополнительные сведения см. в разделе How to: Deploy a Database With a Web Application Project. Для веб-сайта ASP.NET вы это можете сделать с помощью мастера публикации баз данных в Visual Studio. Дополнительные сведения см. в разделе Deploying a Database by Using the Database Publishing Wizard.

  • Поскольку Службы WCF Data Services включает в себя базовую реализацию WCF, Windows Server AppFabric вы можете использовать для мониторинга службы данных, развернутой на IIS, работающем на Windows Server. Дополнительные сведения использовании Windows Server AppFabric для наблюдения за службами данных см. в публикации (на английском языке) Tracking WCF Data Services with Windows Server AppFabric.

См. также

Основные понятия

Размещение службы данных (службы WCF Data Services)

Защита служб WCF Data Services

Другие ресурсы

Служба данных (WCF Data Services)