使用Microsoft.Extensions.DependencyInjection作为容器时,如何注册装饰器类? 当按以下方式注册我的类型时(类似于Castle Windsor),我得到一个“System.InvalidOperationException:检测到循环依赖关系”错误
当按以下方式注册我的类型时(类似于Castle Windsor),我得到一个“System.InvalidOperationException:检测到循环依赖关系”错误,解决了IMyService类型:
services.AddSingleton<IMyService, MyService>(); services.AddSingleton<IMyService, MyServiceDecorator>();
装饰器注册似乎不支持开箱即用,但有没有办法添加支持或解决问题?
使用 Scrutor项目以下列方式注册似乎可以让装饰器正确解析:services.AddSingleton<IMyService, MyService>(); services.Decorate<IMyService, MyServiceDecorator>();
Decorate是名称空间中的扩展方法:Scrutor项目中的Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.
