我正在向库中添加依赖注入,我使用Unity。 我想知道是否需要采取一些额外步骤使Unity Container线程安全。我发现了几篇讨论线程安全容器的文章(例如:http://www.fascinatedwithsoftware.com/blog/post/2012/01/04/A-Thread-Safe-Global-Unity-Container.aspx),但我不明白在我的项目中是否真的需要它。从另一方面来说,我不想因为另一方面的竞争条件而产生一些令人讨厌的错误,我不知道在什么情况下会出现竞争状况。我想用团结与成分根模式和静态构造函数一样,注册的所有种类:什么是使UnityContainer不是线程安全的缺陷?
internal static class ConfiguredUnityContainer
{
private static readonly UnityContainer Container = new UnityContainer();
static ConfiguredUnityContainer()
{
Container.RegisterType<IConnectionFactory<SqlConnection>>();
}
public static T Resolve<T>()
{
return Container.Resolve<T>();
}
}
所以,基本上我的问题是:在什么情况下,我需要更多的线程安全的,当我一起工作Unity DI?我在哪里可以获得线程安全的竞争条件或问题?
这个答案很棒,这就是我一直在寻找的!谢谢! – vmg