我正在研究.NET 6,并希望构建一个简单的控制台应用程序,其中包含一些依赖项注入。
从我能读到的,已经做了很多工作,使启动(现在只是程序)文件,更可读性。让我有点困惑的是,所有的改进似乎都是用于API项目中的WebApplication.CreateBuilderpart,而不是Host.CreateDefaultBuilder。正如本博客中所提到的
微软拥有文档,似乎也只提到了WebApplication。
在我看来,WebApplication似乎只适用于网络项目,比如API,我找不到任何能证实og漏洞的东西。
在控制台应用程序中使用WebApplication可以吗,还是应该依赖主机,并保留堆叠的lambda表达式?
发布于 2021-12-14 08:36:34
WebApplication.CreateBuilderpart()
只用于web/api应用程序,顾名思义,Host.CreateDefaultBuilder()
用于构建一个通用主机(没有web服务、中间件等),您可以使用它构建除web主机之外的任何东西。
例如,请参见:https://learn.microsoft.com/en-us/dotnet/core/extensions/generic-host,它没有更改。
的确,目前构建控制台应用程序和/或后台服务感觉有点尴尬。
发布于 2022-09-30 00:18:16
这是我在控制台应用程序中使用DI的一个很好的参考:教程:在.NET中使用依赖注入
尽管我们讨论的是控制台应用程序,但是DI为您提供了许多管理应用程序的很好的选项,并且像任何.NET应用程序一样,当您的应用程序变得复杂时,您的应用程序需要共享相同的类和配置,即使是那些作为CLI参数发送进来的类和配置,DI也会得到真正的回报。
https://stackoverflow.com/questions/70344866
复制相似问题