一种设计模式,通过动态地向软件组件中注入需要运行的依赖项来减少组件之间的耦合。
如何将依赖配置与 ASP.NET Core Blazor Web App 的 UI 项目分离?
我有一个 Blazor Web 应用程序,其服务器托管模型位于 .NET 8 中,具有 WebApplication.CreateBuilder 最小托管模型。 在解决方案中,我使用多个库项目来培育一个干净的架构......
我正在开发一个Windows服务来执行一些定期操作,我可以使用Unity从另一个库注入我的类吗? 我想在我的服务上使用 [Dependency] 属性,
我用异步添加日志并想用异步保存但返回此错误: '无法访问已处置的上下文实例。此错误的常见原因是处置已解析的上下文实例...
Quarkus Mapstruct 的 UnsatisfiedResolutionException
我试图在我的 Quarkus 项目中使用 Mapstruct,但是当我使用 /.mvnw 编译 quarkus:dev 运行应用程序时 我得到以下异常: javax.enterprise.inject.UnsatisfiedResolutionException:
我的 Angular 11 应用程序中有一个组件,它使用特定的服务类从 REST API 请求地址信息。该服务类在中继 API 的字段中缓存一些可观察值
允许 IEnumerable<T> 在 MS.DI 中延迟解析项目
我的 MS.DI 容器中有一个非常大的 ISample 注册列表,我将其作为 IEnumerable 注入。但在运行时我通常需要很少的。然而,MS.DI 总是创造...
当所有涉及的类都在同一个项目中时(defineSubClass是BaseClass的成员),下面的代码工作得很好: protected static BaseClass certainSubClass(String p1, int p2, B...
我正在尝试使用依赖注入异步初始化一个类。我看过这篇文章https://blog.stephencleary.com/2013/01/async-oop-2-constructors.html 但我正在尝试初始化...
在我团队的代码库中,我看到类要么注入了所有参数(并且没有构造函数参数),要么没有注入任何内容。然而,我想知道如何在课堂上注入一些东西并且
我正在使用Koin 3.2,它具有新的模块包含功能。官方文档中,在讨论模块链接策略时,有这样一段话: 需要观察的一个重要细节是您...
在我团队的代码库中,我看到类要么注入了所有参数(并且没有构造函数参数),要么没有注入任何内容。然而,我想知道如何在课堂上注射一些药物等等......
在下一个主要版本中,Nest 将不允许使用 @Injectable()、@Catch() 和 @Controller() 装饰器注释的类
我在 Nest.js 框架中编写了 3 年,我通过后端应用程序收到了消息: 警告 [DependencyScanner] 在下一个主要版本中,Nest 将不允许使用 @Injec 注解的类...
Spring在MainApplication中找不到依赖jar库中定义的ServiceImpl
我创建了一个 springboot 应用程序,它将作为我的 MainApplication 的库。这个库有一些服务类,存储库类和实体,基本上是一个独立的功能......
ASP.NET Core:关闭 Web 浏览器后未释放单例服务 (Microsoft.Extensions.DependencyInjection)
我有一个带有此一次性服务类的 ASP.NET Core 6 Web API: 公共接口 IMyService: IDisposable { } 公共类 MyService:IMyService { public void Dispose() => Console.WriteL...
我正在使用 Asp.Net Core 8。尝试在应用程序启动时解决依赖项,然后使用它手动注册第二个依赖项。但我收到错误“服务集合不能
在我的大多数项目中,我通常创建一个静态类,其中包含我在项目中使用的所有函数。 但是当谈到单元测试时,我觉得我的设计存在很大的缺陷,因为我......
问题 我的 Angular 模板中有以下设置: 问题 我的 Angular 模板中有以下设置: <mat-tab-group> <mat-tab *ngIf="sees1"> <app-custom-table (columnButtonClick)="service1.columnClicked($event)"> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees2"> <app-custom-table> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees3"> <app-custom-table> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees4"> <app-custom-table> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees5"> <app-custom-table (columnButtonClick)="service5.columnClicked($event)"> </app-custom-table> </mat-tab> </mat-tab-group> 我希望每个 app-custom-table 都注入不同的服务实现,以便能够显示和处理不同的数据。 想法 我实际上正在尝试更改我现有的解决方案,其中包括将服务作为 @Input() 参数直接传递给每个组件。像这样: <mat-tab-group> <mat-tab *ngIf="sees1"> <app-custom-table [service]="serviceImpl1" (columnButtonClick)="service1.columnClicked($event)"> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees2"> <app-custom-table [service]="serviceImpl2"> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees3"> <app-custom-table [service]="serviceImpl3"> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees4"> <app-custom-table [service]="serviceImpl4"> </app-custom-table> </mat-tab> <mat-tab *ngIf="sees5"> <app-custom-table [service]="serviceImpl5" (columnButtonClick)="service5.columnClicked($event)"> </app-custom-table> </mat-tab> </mat-tab-group> 我正在尝试放弃这种方法,因为它似乎是一个糟糕的方法。 我想要这样的东西: @Component({ providers: [ { provide: BaseService, useClass: Implementation1Service }, { provide: BaseService, useClass: Implementation2Service }, { provide: BaseService, useClass: Implementation3Service }, { provide: BaseService, useClass: Implementation4Service }, { provide: BaseService, useClass: Implementation5Service }] }) 但 Angular 显然无法知道在哪里注入每个相应的服务。 也许需要注意的是,所有实现extendBaseService类是一个抽象类,其方法的默认实现大部分不会改变,至少对于大多数实现来说是这样。 问题 有没有办法让 Angular 知道要注入哪个服务,或者我应该坚持当前的方法(将服务作为 Input() 参数注入)?目前的做法有那么糟糕吗? 为什么不将服务添加到 providers 组件的 app-custom-table 中,这样将为每个组件实例创建服务?您可以直接在子组件中注入和使用服务,而不是通过输入传递服务,并且它将成为每个组件的单独服务实例。 @Component({ selector: 'app-custom-table', providers: [BaseService], }) export class CustomTableComponent { constructor(private service: BaseService) {} columnButtonClick(event: unknown) { this.service.columnClicked(event); } } 首先必须有一个更简单的方法来解决你想要的问题。 但目前,这是我的建议。 将服务添加到组件的providers数组中app-custom-table。 @Component({ selector: 'app-custom-table', ... providers: [BaseService], }) export class CustomTable { 现在所有子组件都有一个唯一的实例。 然后从父组件到子组件获取当前实例的视图子组件,您可以为此使用 getter。 ... @ViewChild(CustomTable) customTable: CustomTable; get baseServiceInstance() { return this.customTable?.baseService; } 注意:该服务仅在 ngAfterViewInit 上可用,因此从那里开始使用此逻辑,而不是在 ngOnInit 或 constructor 上。
找不到类型或命名空间名称“iOSBackgroundService”
错误消息:找不到类型或命名空间名称“iOSBackgroundService” 我在 Platform -> iOS 中创建了名为 iOSBackgroundService 的新类。但我无法将它注入毛伊岛公关...
“方法”对象不支持带有依赖注入器的 FastAPI 中的上下文管理器协议错误
我正在开发一个 FastAPI 应用程序,我使用依赖注入器来管理我的依赖项。我有一个通过 SQLAlchemy 与数据库交互的 JobService。我遇到错误...
Blazor WASM 在 program.cs 期间为 DI 设置全局类
我对 Blazor 相当陌生,我想使用“GlobalSettings”类。我尝试过使用 CascadingParameters,但即使网站显示正常,我也会在控制台中收到空错误。我怀疑...