首页 > 解决方案 > 需要模式实现的建议以将“处理器”从 WebApp 注入 NuGet

问题描述

我们目前正在开发一个内部 NuGet 包,它将向另一个微服务发送 HTTP 请求。

这是我正在寻找的实现示例。

尊重 Nuget 封装,在 .NET 核心中实现这一点(特别是最后两项)的最佳方法是什么。

谢谢 :)

标签: c#.netasp.net-core.net-core

解决方案


首先,我认为这将提供一些清晰的认识,这一切都只是“WebApp”。无论您使用的是一个、多个还是不使用 NuGet 包、项目引用等,最终都只是在您的 WebApp 进程中运行的代码。

因此,您可以IProcessor像注册任何服务一样注册实现:

services.AddScoped<IProcessor, WebAppProcessor>();

目前尚不清楚您最终在这里做什么,因此根据这一点,您可以采取两条路径之一。如果只有一个IProcessor实现,那么您只需通过类的构造函数将其直接注入任何需要它的类。该类也需要在 Web 应用程序的服务集合中注册,以便它参与一般的依赖注入过程。

如果您实际上将有多个可用的实现,那么过程大致相同,但您需要注入IEnumerable<IProcessor>。然后服务集合将注入所有已注册的IProcessor.


推荐阅读