【发布时间】:2013-07-01 08:05:58
【问题描述】:
我试图运行这个:
DependencyResolver.Current.GetService<ITask>();
在这段代码中:
Task.Factory.StartNew(
() =>
{
var result = DependencyResolver.Current.GetService<ITask>();
});
虽然它抛出了一个空引用异常。
我知道这是另一个线程,但我正在考虑如何让依赖解析器在这种情况下工作,或者我应该初始化并直接使用“任务”类而不是接口。
【问题讨论】:
-
在您的上下文中什么是 null?变量
result?DependencyResolver.Current?还是方法调用 GetService 会抛出 NullReferenceException? -
GetService 抛出 NullReferenceException
-
我在想也许在线程中我需要重新初始化所有东西,虽然我想这会很难
-
DependencyResolver.Current不是线程静态的或基于上下文的;它只是一个静态/单例。如果GetService抛出NullReferenceException,则您的配置可能有问题。您的配置如何? -
DependencyResolver是如何注册的?可以出示一下代码吗?
标签: c# dependency-injection unity-container