我正在向庫中添加依賴注入,我使用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