Как разработать службу данных 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
В Visual Studio в меню Файл последовательно выберите пункты Создать и Проект.
В диалоговом окне Создать проект выберите Visual Basic или Visual C# в качестве языка программирования.
В области Шаблоны выберите пункт Веб-приложение ASP.NET. Примечание. Если используется среда Visual Studio Web Developer, то вместо нового веб-приложения нужно будет создать новый веб-узел.
Введите NorthwindService в качестве названия проекта.
Нажмите кнопку ОК.
В меню Проект выберите Свойства службы Northwind.
Перейдите на вкладку Веб, затем выберите Использовать локальный веб-сервер IIS.
Нажмите кнопку Создать виртуальный каталог, затем нажмите кнопку ОК.
В командной строке выполните следующую команду:
"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
Она регистрирует Windows Communication Foundation (WCF) на компьютере.
Используя среду SQL Server Management Studio или программу sqlcmd.exe, выполните следующую команду Transact-SQL в экземпляре SQL Server, содержащем прикрепленную базу данных Northwind:
CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS; GO
Она создает имя входа в экземпляр SQL Server для учетной записи Windows, используемой для запуска служб IIS. Это позволит службам IIS подключиться к экземпляру SQL Server.
После присоединения базы данных 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 и записывать данные в эту базу данных.
Определение модели данных
В обозревателе решений щелкните правой кнопкой мыши имя проекта ASP.NET и выберите команду Добавить новый элемент.
В диалоговом окне Добавление нового элемента выберите Модель сущность-данные ADO.NET.
В качестве имени модели данных введите Northwind.edmx.
В мастере создания модели сущность-данные выберите Создать из базы данных и нажмите кнопку Далее.
Подключите модель данных к базе данных, выполнив одно из следующих действий, и затем нажмите кнопку Далее.
При отсутствии уже настроенного подключения базы данных выберите пункт Создать подключение и создайте новое подключение. Дополнительные сведения см. в разделе Как создать подключения к базам данных SQL Server. Этот экземпляр SQL Server должен содержать присоединенный образец базы данных Northwind.
— или —
Если имеется уже настроенное подключение к базе данных Northwind, выберите это подключение из списка.
На завершающей странице мастера установите флажки для всех таблиц базы данных и снимите флажки для представлений и хранимых процедур.
Чтобы закрыть мастер, нажмите кнопку Готово.
Примечание Эта сформированная модель данных предоставляет свойства внешнего ключа для типов сущности.Модели данных, созданные с помощью Visual Studio 2008, не включают эти свойства внешнего ключа.В связи с этим перед получением доступа к этой версии службы данных Northwind необходимо обновить клиентские классы службы данных любого клиентского приложения для доступа к службе данных, созданного с помощью среды Visual Studio 2008.
Создание службы данных
В обозревателе решений щелкните правой кнопкой мыши имя проекта ASP.NET и выберите команду Добавить новый элемент.
В диалоговом окне Добавление нового элемента выберите Служба данных ADO.NET.
В качестве имени службы укажите Northwind.
В Visual Studio для новой службы создаются файлы разметки и кодов XML. По умолчанию открывается окно редактора кода. В обозревателе решений для службы будет отображаться имя Northwind с расширением .svc.cs или .svc.vb.
В коде службы данных замените комментарий
/* TODO: put your data source class name here */
в определении класса, задающего службу данных, типом контейнера сущностей модели данных, который в данном случае равенNorthwindEntities
. Определение класса должно выглядеть следующим образом.Public Class Northwind Inherits DataService(Of NorthwindEntities)
public class Northwind : DataService<NorthwindEntities>
См. также
Основные понятия
Представление данных в виде службы (службы WCF Data Services)