向多个接口注册相同类型

2023-11-27

可以将一种类型注册到多个接口吗?

我有实现两个接口的类

MyService : IService1, IServier2 {}

我想为两个接口注册这个类型。

container.RegisterType<IService1, MyService>(CreateLifetime());
container.RegisterType<IService2, MyService>(CreateLifetime());

不幸的是,在解决之后我有两个不同的实例。我尝试使用共同生命周期,但后来收到消息说我不能。


我通常这样写:

      .RegisterType<MyService>(CreateLifeTime())
      .RegisterType<IService1, MyService>()
      .RegisterType<IService2, MyService>();

当然,使用 TransientLifetimeManager,您仍然会获得两个不同的 MyService 实例。

上面的代码适用于PerResolveLifetimeManager, PerResolveLifetimeManager, PerThreadLifetimeManager.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向多个接口注册相同类型 的相关文章

随机推荐