Unity 容器 - 从未同步的代码块调用对象同步方法
Unity Container - Object synchronization method was called from an unsynchronized block of code
我在我的项目中使用统一容器,我正在尝试像这样自行注册容器:
UnityContainer.RegisterInstance(UnityContainer);
但我收到以下异常:
Object synchronization method was called from an unsynchronized block of code.
我尝试搜索异常,但我发现的所有内容都与互斥体有关。
容器已自行注册(如 IUnityContainer
),因此您不必注册它。考虑以下 class:
public class MyClass
{
private readonly IUnityContainer m_UnityContainer;
public MyClass(IUnityContainer unity_container)
{
m_UnityContainer = unity_container;
}
}
现在,如果您简单地按如下方式解决这个 class,它就会将容器注入其中。
var obj = container.Resolve<MyClass>();
请注意,让您的 classes 依赖于容器意味着您希望使用容器来定位服务,这 is considered an anti-pattern.
我在我的项目中使用统一容器,我正在尝试像这样自行注册容器:
UnityContainer.RegisterInstance(UnityContainer);
但我收到以下异常:
Object synchronization method was called from an unsynchronized block of code.
我尝试搜索异常,但我发现的所有内容都与互斥体有关。
容器已自行注册(如 IUnityContainer
),因此您不必注册它。考虑以下 class:
public class MyClass
{
private readonly IUnityContainer m_UnityContainer;
public MyClass(IUnityContainer unity_container)
{
m_UnityContainer = unity_container;
}
}
现在,如果您简单地按如下方式解决这个 class,它就会将容器注入其中。
var obj = container.Resolve<MyClass>();
请注意,让您的 classes 依赖于容器意味着您希望使用容器来定位服务,这 is considered an anti-pattern.