Контейнеры IoC, WCF и ServiceHostFactories

В последнее время я читал об IoC и думаю, что он наверняка пригодится в веб-сервисе WCF, который я разрабатываю. Тем не менее, кажется, что Ninject, StructureMap и Spring.Net (я только проверял эти три) требуют пользовательских Factory атрибут, который будет добавлен к *.svc файл:

<%@ ServiceHost Language="C#" Debug="true" Service="SomeService" CodeBehind="SomeService.svc.cs" Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory" %>

Проблема заключается в том, что из-за архитектуры системы, в которой будет развернут сервис, я уже использую собственную фабрику, которая является обязательным требованием для этого проекта. Можно ли как-то преодолеть эту ситуацию?

1 ответ

Решение

Autofac также использует собственную фабрику, и я подозреваю, что все они будут использовать ее, поскольку это дает контейнеру IoC возможность участвовать в процессе создания службы. Большинство (все?) Из них имеют открытый исходный код, поэтому вы можете просмотреть их исходный код и посмотреть, можно ли обернуть в него пользовательскую фабрику IoC или изменить исходный код для их интеграции.

Другие вопросы по тегам