2013-11-13 4 views
6

Благодаря Stack Overflow и нескольким другим сайтам я понимаю разницу между шаблонами приложений WCF LIbrary и WCF.Объединение WCF Service Library и приложения WCF Service

Вкратце библиотека представляет собой DLL, позволяющую использовать несколько типов хостинга. У него нет файла .svc. Хотя шаблон приложения-службы создается специально с IIS в моем файле .svc.

Я прочитал, что Библиотека обслуживания WCF - лучший способ, потому что она является самой гибкой. Но я НИКОГДА не вижу инструкций о том, как это сделать, кроме использования шаблона Application Service WCF.

Сложно ли перейти с Библиотеки услуг WCF на хостинг на IIS с нуля? У меня есть две книги по WCF, и я читал многочисленные статьи, и ни один из них не описывает, как создать файл svc, используя только сервисную библиотеку WCF и No Service WCF Service Application. Зачем?

Найджел Шоу также упоминает следующую ссылку, что существуют ограничения на использование опции «Библиотека». What is the purpose of WCF Service Library?

В основном, что я хочу сделать, это разместить службу WCF как на IIS, так и на службе Windows. Таким образом, кажется, что комбинированный путь - лучший способ. Тем не менее, я пытаюсь узнать, почему нет более инструкций по использованию Библиотеки услуг WCF.

Хорошо, я нашел пару статей, которые, как представляется, используют веб-приложение ASP.NET и расскажу, как создать текстовый файл для файла svc.

В этой статье: http://debugmode.net/2010/12/25/wcf-service-library-creating-hosting-and-consuming-wcf-service-with-wcf-service-library-project-template/

и это одно: http://danielvanwyk.wordpress.com/2010/04/30/create-host-and-consume-a-wcf-service-using-the-wcf-service-library-template-in-visual-studio-2008/

Но то, что я до сих пор не понимаю, почему это ASP.NET Application еще необходимо? И если я добавить файл SVC ли он получить помещен в каталог Wwwroot (что, кажется, где места приложения WCF Service это SVC-файл?

Спасибо!

ответ

8

ФОС служба Библиотека должна быть размещена в (например, консольное приложение, WinForm, WPF и т. д.).

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

Вы можете создать внедренную IIS библиотеку классов без использования шаблона проекта VS, но вам нужно вручную добавить файл .svc и файл Web.config. Я сделал это несколько раз:

  1. Создать папку (обычно я положил мину в wwwroot папке inetpub, но вы можете поместить его там, где вы хотите).
  2. Создайте папку bin в папке, созданной на шаге 1, и поместите в нее служебную библиотеку WCF и любые другие необходимые сборки.
  3. Добавить файл .svc с соответствующей разметкой в ​​папке, созданной на шаге 1.
  4. Добавьте Web.config с соответствующей конфигурацией модели обслуживания в папку, созданную на шаге 1.
  5. Создайте приложение в IIS, которое указывает на созданную вами папку.

Теперь у вас есть экземпляр вашей службы, обслуживающий IIS. Затем вы можете использовать другую копию библиотеки служб WCF для вашего экземпляра, размещенного в Windows-Service.

+0

Ничего себе! Спасибо Тиму! Вы ответили 15 часов назад. Интересно, почему я этого не видел. Возможно, я не освежился. Спасибо, ты ответил на мой вопрос. В принципе, поскольку это библиотека, это все, что есть. Мне нужно сделать больше, чтобы иметь возможность разместить его. Я собираюсь сохранить эти инструкции в будущем. –

+0

Это то, что я искал! Да благословит вас Бог во имя Иисуса! – lexeme