StructureMap и шаблон декоратора

Я использую StructureMap, v. 2.5.3, и у меня возникают проблемы с объединением реализаций в интерфейсе для реализации шаблона Decorator.

Я привык к Виндзору, где можно называть варианты реализации интерфейса и отправлять именованный импл. в другой (по умолчанию) вкл.

Это стандартная версия без оформления, которая отлично работает:

ObjectFactory.Initialize(registry =>
{
  registry.ForRequestedType<ICommentService()
    .TheDefault.Is.OfConcreteType<CommentService>();
... }

Это ctor на декораторе, который я хочу назвать:

public CommentAuditService( ICommentService comm,entService, 
                            IAuditService auditService )

Это работает, но не дает мне доступ к украшенному объекту:

registry.ForRequestedType<ICommentService>()
  .TheDefault.Is.OfConcreteType<CommentService>()
  .EnrichWith(x => new CommentAuditService());

Это займет у меня инф. цикл:

registry.ForRequestedType<ICommentService>()
  .TheDefault.Is.OfConcreteType<CommentService>()
  .EnrichWith(x => new CommentAuditService( new CommentService(), 
                                            new AuditService()));

Пока это то, что мне кажетсядолжен работай:

registry.ForRequestedType<ICommentService.()
  .TheDefault.Is.OfConcreteType<CommentAuditService>()
  .WithCtorArg("commentService")
  .EqualTo(new CommentService());

Однако он отправляет его в бесконечный цикл создания новых экземпляров CommentAuditService

У кого-нибудь есть быстрый ответ? (кроме переключения на Castle.Windsor, с которым я сейчас очень близок)

Ответы на вопрос(1)

Ваш ответ на вопрос