参数中的 [FromServices] 是什么意思?
What does [FromServices] as in parameter imply?
我最近更换了工作部门,在 Java 工作了 5 年后,我突然陷入了 C# 代码。现在大部分都类似于Java,但似乎有更多的DI在进行。
代码是 ASPNet 核心项目的一部分,有一件事我不明白。
控制器 class 大约有 10 000 行代码,其中包含许多具有以下“输入参数”的方法:
StreamingUploadMapper(
[FromServices] EsiDecryptClient esiDecryptClient,
[FromServices] IStorageHandler storageHandler)
我的问题是这是什么?它是自动注入 (DI) 还是我必须在发出请求时发送这些参数?
我也用谷歌搜索 FromServices
似乎它用于 DI 以避免使用“新”?
除此之外,我什至不明白它的用途。
My question is what is this? Is it auto injected (DI)
是的,就是这样。当您只想对特定操作而不是整个控制器注入服务时,可以使用 [FromServices]
。在 10k LOC 控制器上,这种情况很有意义(尽管我很惊讶 DI 与这样的野兽一起使用)。
我最近更换了工作部门,在 Java 工作了 5 年后,我突然陷入了 C# 代码。现在大部分都类似于Java,但似乎有更多的DI在进行。
代码是 ASPNet 核心项目的一部分,有一件事我不明白。 控制器 class 大约有 10 000 行代码,其中包含许多具有以下“输入参数”的方法:
StreamingUploadMapper(
[FromServices] EsiDecryptClient esiDecryptClient,
[FromServices] IStorageHandler storageHandler)
我的问题是这是什么?它是自动注入 (DI) 还是我必须在发出请求时发送这些参数?
我也用谷歌搜索 FromServices
似乎它用于 DI 以避免使用“新”?
除此之外,我什至不明白它的用途。
My question is what is this? Is it auto injected (DI)
是的,就是这样。当您只想对特定操作而不是整个控制器注入服务时,可以使用 [FromServices]
。在 10k LOC 控制器上,这种情况很有意义(尽管我很惊讶 DI 与这样的野兽一起使用)。