在这一点上,我可以轻松地将其注入Controller中,在某些情况下,可以构建自己的ResolverServices类。生活是美好的。
我无法弄清楚该怎么做,是要获得自动注入非控制器类的框架。起作用的是使框架自动注入到控制器中IOptions
,这实际上是项目的配置:
public class MessageCenterController : Controller
{
private readonly MyOptions _options;
public MessageCenterController(IOptions<MyOptions> options)
{
_options = options.Value;
}
}
我在想我是否可以为自己的课程做同样的事情。我假设我在模仿控制器时就已经关闭了,就像这样:
public class MyHelper
{
private readonly ProfileOptions _options;
public MyHelper(IOptions<ProfileOptions> options)
{
_options = options.Value;
}
public bool CheckIt()
{
return _options.SomeBoolValue;
}
}
我认为我失败的地方是当我这样称呼它时:
public void DoSomething()
{
var helper = new MyHelper(??????);
if (helper.CheckIt())
{
// Do Something
}
}
我一直在跟踪的问题几乎是所有谈论DI的东西都在控制器级别谈论它。我尝试查找Controller
对象源代码中发生的错误,但是在那里有点疯狂。
我确实知道我可以手动创建IOptions实例并将其传递给MyHelper
构造函数,但是似乎我应该能够使框架做到这一点,因为它适用于Controllers
。
new
。永远不要为应该解决的物体