2013-09-03 3 views
-1

Ситуация:хостинг службы WCF в службы Windows - конфигурации, отладки

У меня есть решение с 3-х проектов:

  • проекта 1: Тип службы WCF
  • Project 2: применение Тип консоли (хозяева проекта 1)
  • Проект 3: применение Тип консоли (вызовы методов службы WCF, имеет ссылку на службу проецировать 1)

Прямо сейчас для отладки Я запускаю проект 2 исполняемый как Администратор, это открывает службу. Затем я запускаю исполняемый проект 3 для вызова методов службы WCF.

Вопрос 1: Я хотел бы установить службу в качестве службы Windows, чтобы она всегда была доступна, что означает, когда я хочу проверить/использовать методы службы, которые я могу. Как настроить службу WCF как службу Windows?

Вопрос 2. В настоящее время служба WCF содержит инструкции Console.WriteLine для отображения результатов вызовов методов. Поскольку эта служба размещена в проекте 2, Console.WriteLines записывает материал в исполняемый файл Project 2. Что произойдет с этими WriteLines, когда служба WCF находится внутри службы Windows?

Вопрос 3: Служба WCF получает значения конфигурации из app.config с использованием System.Configuration.ConfigurationManager.AppSettings - будет ли доступ к окну еще доступ к app.config? Если да, то как он разрешает, где/какой app.config использовать?

Вопрос 4: Как отладить службу WCF, размещенную в службе Windows?

+1

В общем, мы хотели бы задать один вопрос на вопрос. –

ответ

1
  1. Вы не устанавливаете службы WCF как службы Windows напрямую. Вам необходимо либо разместить службу на веб-сервере (например, IIS), либо установить Service Service (Project 2) в качестве службы.
  2. Выход будет просто отброшен (см. Вопрос this). Если вам нужно сохранить выход, тогда реализуйте библиотеку журналов, такую ​​как log4net или NLog.
  3. Служба Windows по-прежнему будет иметь доступ к app.config и будет следовать той же семантике расположения конфигурации, что и консольное приложение. См. Вопрос this для получения дополнительной информации о том, где живет конфиг.
  4. Для отладки службы Windows вы можете использовать функцию «Прикрепить к процессу», встроенную в Visual Studio. См. the MSDN page для получения дополнительной информации.
Смежные вопросы