Поделиться через


Как разработать службу данных WCF Data Service, работающую на IIS

В этом разделе показано, как создать с помощью Службы WCF Data Services службу данных на основе образца базы данных Northwind, размещенной в веб-приложении ASP.NET, работающем на базе IIS. Пример создания службы данных Northwind в виде веб-приложения ASP.NET, работающего на ASP.NET Development Server, см. в разделе Краткое руководство по службам WCF Data Services.

Примечание

Для создания службы данных Northwind необходимо установить образец базы данных Northwind на локальный компьютер.Чтобы загрузить этот образец базы данных, см. страницу загрузки Образцы баз данных для SQL Server (на английском языке).

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

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

Создание веб-приложения ASP.NET, работающего на базе IIS

  1. В Visual Studio в меню Файл последовательно выберите пункты Создать и Проект.

  2. В диалоговом окне Создать проект выберите Visual Basic или Visual C# в качестве языка программирования.

  3. В области Шаблоны выберите пункт Веб-приложение ASP.NET. Примечание. Если используется среда Visual Studio Web Developer, то вместо нового веб-приложения нужно будет создать новый веб-сайт.

  4. Введите NorthwindService в качестве названия проекта.

  5. Нажмите кнопку ОК.

  6. В меню Проект выберите Свойства службы Northwind.

  7. Перейдите на вкладку Веб, затем выберите Использовать локальный веб-сервер IIS.

  8. Нажмите кнопку Создать виртуальный каталог, затем нажмите кнопку ОК.

  9. С помощью командной строки с правами администратора выполните одну из следующих команд (в зависимости от операционной системы).

    • 32-разрядные системы:

      "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
      
    • 64-разрядные системы:

      "%windir%\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
      

    Она регистрирует Windows Communication Foundation (WCF) на компьютере.

  10. С помощью командной строки с правами администратора выполните одну из следующих команд (в зависимости от операционной системы).

    • 32-разрядные системы:

      "%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -i -enable
      
    • 64-разрядные системы:

      "%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe" -i -enable
      

    Это необходимо для того, чтобы проверить правильность работы служб IIS после установки WCF на компьютере. Возможно, потребуется перезапустить службы IIS.

  11. Если приложение ASP.NET запущено в службах IIS7, нужно также выполнить следующие действия.

    1. Откройте IIS Manager и перейдите в приложение PhotoService на вкладке Веб-сайт по умолчанию.

    2. В меню Просмотр возможностей дважды щелкните элемент Проверка подлинности.

    3. На странице Проверка подлинности выберите Анонимная проверка подлинности.

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

    5. В диалоговом окне Изменение учетных данных анонимной проверки подлинности выберите Удостоверение пула приложений.

    Важно!

    При использовании учетной записи Network Service анонимным пользователям предоставляется доступ к внутренней сети, связанной с этой учетной записью.

  12. С помощью среды SQL Server Management Studio, программы sqlcmd.exe или редактора Transact-SQL в Visual Studio выполните следующую команду Transact-SQL для экземпляра SQL Server с прикрепленной базой данных Northwind.

    CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS;
    GO 
    

    Она создает имя входа в экземпляр SQL Server для учетной записи Windows, используемой для запуска служб IIS. Это позволит службам IIS подключиться к экземпляру SQL Server.

  13. После присоединения базы данных Northwind выполните следующие команды Transact-SQL:

    USE Northwind
    GO
    CREATE USER [NT AUTHORITY\NETWORK SERVICE] 
    FOR LOGIN [NT AUTHORITY\NETWORK SERVICE] WITH DEFAULT_SCHEMA=[dbo];
    GO
    ALTER LOGIN [NT AUTHORITY\NETWORK SERVICE] 
    WITH DEFAULT_DATABASE=[Northwind]; 
    GO
    EXEC sp_addrolemember 'db_datareader', 'NT AUTHORITY\NETWORK SERVICE'
    GO
    EXEC sp_addrolemember 'db_datawriter', 'NT AUTHORITY\NETWORK SERVICE'
    GO 
    

    Они предоставляют право на новое имя входа, позволяющее службам IIS читать данные из базы данных Northwind и записывать данные в эту базу данных.

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

  1. В обозревателе решений щелкните правой кнопкой мыши имя проекта ASP.NET и выберите команду Добавить новый элемент.

  2. В диалоговом окне Добавление нового элемента выберите Модель сущность-данные ADO.NET.

  3. В качестве имени модели данных введите Northwind.edmx.

  4. В мастере создания модели сущность-данные выберите Создать из базы данных и нажмите кнопку Далее.

  5. Подключите модель данных к базе данных, выполнив одно из следующих действий, и затем нажмите кнопку Далее.

    • При отсутствии уже настроенного соединения базы данных выберите пункт Создать соединение и создайте новое соединение. Дополнительные сведения см. в разделе Как создать соединение с базами данных SQL Server. Этот экземпляр SQL Server должен содержать присоединенный образец базы данных Northwind.

      — или —

    • Если имеется уже настроенное соединение с базой данных Northwind, выберите это соединение из списка.

  6. На завершающей странице мастера установите флажки для всех таблиц базы данных и снимите флажки для представлений и хранимых процедур.

  7. Чтобы закрыть мастер, нажмите кнопку Готово.

    Примечание

    Эта сформированная модель данных предоставляет свойства внешнего ключа для типов сущности.Модели данных, созданные с помощью Visual Studio 2008, не включают эти свойства внешнего ключа.В связи с этим перед получением доступа к этой версии службы данных Northwind необходимо обновить клиентские классы службы данных любого клиентского приложения для доступа к службе данных, созданного с помощью среды Visual Studio 2008.

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

  1. В обозревателе решений щелкните правой кнопкой мыши имя проекта ASP.NET и выберите команду Добавить новый элемент.

  2. В диалоговом окне Добавление нового элемента выберите пункт Служба данных WCF.

  3. В качестве имени службы укажите Northwind.

    В Visual Studio для новой службы создаются файлы разметки и кодов XML. По умолчанию открывается окно редактора кода. В обозревателе решений для службы будет отображаться имя Northwind с расширением .svc.cs или .svc.vb.

  4. В коде службы данных замените комментарий /* TODO: put your data source class name here */ в определении класса, задающего службу данных, типом контейнера сущностей модели данных, который в данном случае равен NorthwindEntities. Определение класса должно выглядеть следующим образом.

    Public Class Northwind
        Inherits DataService(Of NorthwindEntities)
    
    public class Northwind : DataService<NorthwindEntities>
    

См. также

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

Представление данных в виде службы OData (WCF Data Services)