Проект WCF против папки в существующем проекте веб-сайта? - PullRequest
0 голосов
/ 31 марта 2010

Какой способ имеет больше всего смысла? У меня есть приложение ASP.NET ... и, возможно, приложение Silverlight в будущем .. Я хочу, чтобы оба разговаривали с веб-службами ...

Сначала я хотел бы, чтобы проект WCF был сам по себе для разделения.

Но потом я подумал ... Какой смысл, так как я могу так же легко иметь папку «WEBSERVICES», которая содержит все файлы .svc и код в проекте сайта EXISTING. ... По крайней мере, так ... Развертывание на удаленном хосте будет немного проще, поскольку все в одном проекте.

какие-либо другие соображения?

Ответы [ 2 ]

0 голосов
/ 31 марта 2010

Две вещи для рассмотрения:

Безопасность - ваши услуги будут использоваться только вашим приложением или они могут быть использованы где-либо еще (в конце концов, они являются услугами). Если это так, вы будете предоставлять доступ к своему приложению, чтобы предоставить доступ к вашим веб-службам, или, по крайней мере, настроить доступ к этой конкретной папке, что может привести к нарушениям безопасности.

Развертывание - если вы вносите изменения в службу, которая не нарушает договор, для развертывания изменений вам потребуется развернуть все приложение.

Я бы предпочел пойти с подходом, предложенным Марком (например, иметь сборку для контрактов, одну для реализации службы), и разместить веб-сервис в качестве своего собственного приложения и ссылаться на него из приложения ASP.NET. Таким образом, у вас будет правильное разделение интересов, и вы сможете поддерживать и то, и другое по отдельности.

0 голосов
/ 31 марта 2010

Почему бы не иметь:

  • ваши сервисы WCF и контракты на данные в Contracts сборке
  • ваши реализации службы WCF в Services сборке
  • ссылки на эти две сборки с вашего веб-сайта или веб-приложения
  • поместите файлы * .svc в каталог WebServices

Таким образом, у вас есть

  • чистое и хорошо организованное разделение интересов
  • файлы развертывания (* .svc) находятся на вашем веб-сайте / в веб-приложении, как вы хотите
  • позже вы можете расширять / использовать код WCF другими способами (например, самостоятельно), без особых хлопот
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...