【问题标题】:Dependency Injection of Value Types值类型的依赖注入
【发布时间】:2018-06-29 01:32:39
【问题描述】:

我正在创建一个 Azure Service Fabric 服务并依靠本机 .NET 框架通过构造函数进行依赖项注入。问题是:其中一个构造函数有一个值类型(特别是 System.TimeSpan)作为参数。我应该/如何在依赖注入框架中注册这种类型?

澄清一下:我正在尝试遵循此处显示的示例:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection#service-lifetimes-and-registration-options

【问题讨论】:

  • 你真的要注册这样的全局类型吗?我总是为此使用特定的类

标签: c# azure dependency-injection microservices azure-service-fabric


【解决方案1】:

如果可能,请考虑添加一个类似IDurationProvider 的接口,该接口具有TimeSpan 类型的属性,并注册一个实现它的类型。这阐明了开发者和使用意图。

如果你确定你真的需要这个,这将起作用:

 services.AddTransient(typeof(TimeSpan), _=> TimeSpan.FromSeconds(1D));
 var serviceProvider = services.BuildServiceProvider();
 var timespan = (TimeSpan)serviceProvider.GetRequiredService(typeof(TimeSpan));

【讨论】:

    猜你喜欢
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多