1

我在为已注册的组件添加附加服务时遇到问题。我有以下情况:

public class MyImplementation : BaseClass, IInterface
{

}

在我的应用程序的基础架构中的某处(不会更改),我的课程以下列方式注册:

container.Register(Classes
                               .FromThisAssembly()
                               .BasedOn(typeof (BaseClass))
                               .WithServiceBase()                                                                      
                               .LifestyleTransient());

我现在要做的是向 MyImplementation 组件添加额外的服务。我尝试使用以下方法在我的安装程序中执行此操作:

container.Register(Classes
                               .FromThisAssembly()
                               .BasedOn(typeof (IInterface))
                               .WithServiceBase()                                                                      
                               .LifestyleTransient());

但是当尝试从容器中解析 IInterface 时,我收到错误消息,提示没有为 IInterface 注册组件。

我的问题是,是否可以向已注册的组件添加额外的服务?提前致谢。麦克风

4

1 回答 1

0

我认为如果您更改第二次注册,它将起作用:

container.Register(Classes
                           .FromThisAssembly()
                           .BasedOn(typeof (IInterface))
                           .WithServiceAllInterfaces()                                                                      
                           .LifestyleTransient());
于 2013-01-27T13:02:40.670 回答