Свойства Init в моей базовой службе wcf - PullRequest
0 голосов
/ 28 декабря 2010

Я настроил некоторые службы WCF, которые я использую для вызова из javascript, чтобы разрешить вызовы ajax, такие как получение данных в формате JSON.

Все мои службы настроены в файле web.config и т. Д., И я кодирую вc #.

Все мои сервисы наследуются от объекта BaseService, который имеет некоторые общие свойства, которые являются общими для всех сервисов, например, объект регистратора, объект конфигурации и т. д.

У меня вопрос, как /где я могу установить / присвоить значения этим свойствам?то есть.настройте свойство базового регистратора службы с помощью мгновенного создания собственного регистратора, который я создал.Извиняюсь, если мой вопрос неопределенный, но любая помощь будет большой.

1 Ответ

1 голос
/ 28 декабря 2010

Свойства объекта реализации Сервиса не могут быть установлены от клиента (любого типа), потому что клиенту виден только контракт.Кроме того, такие свойства, как config и logger, в любом случае предназначены не для того, чтобы быть частью контракта, а скорее для реализации сервиса, поэтому они должны автоматически устанавливаться на стороне сервера (т. Е. Инфраструктурой приложения) для каждого объекта сервиса.У вас есть несколько вариантов:

  1. Использовать конструктор (либо BaseService, либо фактический класс обслуживания) для инициализации этих свойств.
  2. Использовать контейнер IoC / DependencyInjection (например, * 1006)* Unity , StructureMap )
...