Настройка проекта для службы данных ADO.NET/WCF - PullRequest
3 голосов
/ 03 апреля 2010

Я хотел бы реализовать ADS.NET/WCF DataService, и мне интересно, каков наилучший способ настроить проект в VS2008 SP1 для этой цели.

В настоящее время у меня есть проект веб-приложения ASP.NET (не относится к типу проекта "WebSite"). Уровень доступа к данным - это модель сущностей (EF версии 1) с базой данных SQL Server. У меня есть Entity Model в отдельном проекте DLL, и ссылки на этот сборочный проект веб-приложения для всех обращений к данным.

ADO.NET/WCF DataService также должен взаимодействовать с моделью / базой данных сущностей. Он должен быть размещен на одном веб-сервере (IIS 7.5) вместе с веб-приложением.

Поскольку DataService не имеет прямого отношения к этому конкретному веб-приложению (хотя он будет предоставлять и изменять данные из / в той же базе данных, которую также использует веб-приложение), моя основная идея заключалась в том, чтобы отделить DataService в своем новом новом проекте ( который также ссылается на DLL-файл Entity Model).

Теперь я увидел, что в VS2008 SP1 нет типа проекта "ADO.NET/WCF DataService". Представляется возможным только добавить DataService в качестве элемента к другим существующим проектам, например, к проектам веб-приложений.

Почему нет отдельного типа проекта DataService? Значит ли это, что теперь мне нужно добавить DataService как элемент в мой проект веб-приложения? Или я должен создать новый проект веб-приложения и добавить к нему DataService? (Я могу удалить предварительно созданный файл default.aspx, поскольку мне не нужны веб-страницы в этом проекте.) Какой лучший способ?

Спасибо за предложения заранее!

Ответы [ 2 ]

1 голос
/ 08 апреля 2010

Поскольку вы размещаете свои службы WCF, вы должны использовать для этого проект веб-приложения. Он может быть размещен на отдельном сайте в IIS, где вы можете подключиться с помощью различных веб-приложений. Нет необходимости в отдельном шаблоне проекта WCF DataService.

Вы получаете следующие ссылки, подобные этой:

Веб-сайт -> Веб-сайт сервиса WCF -> EM
Проект (для модели)
WCF Сервис -> EM Project

0 голосов
/ 08 апреля 2010

Я полагаю, что эта статья (http://msdn.microsoft.com/en-US/library/cc668805.aspx) дает несколько важных советов по этому вопросу. Особенно следующая цитата может дать объяснение, почему не существует отдельного шаблона проекта для WCF DataServices:

Службы данных ADO.NET не являются автономными сетевыми службами. Служба данных ADO.NET не привязывает и не прослушивает сетевой сокет для входящих запросов к своим точкам входа передачи состояния представлений (REST). Вместо этого служба данных ADO.NET представляет собой компонент, размещенный в среде, такой как Windows Communication Foundation (WCF), которая предоставляет сетевые средства для основных серверов. Хост обрабатывает прямые взаимодействия с сетью и поддерживает модули кэширования, масштабируемости и аутентификации.

И варианты размещения WCF DataService в проекте выглядят так:

  • Приложение ASP.NET
Службы данных ADO.NET могут размещаться в качестве конечной точки WCF внутри приложения ASP.NET. В этой реализации WCF и ASP.NET обрабатывают сетевое взаимодействие для службы данных ADO.NET.
  • или WCF ServiceHost или WebServiceHost
Службы данных ADO.NET могут размещаться с использованием классов WCF ServiceHost или WebServiceHost.
...