IM使用統一容器在我的項目不同步塊打來電話,即時通訊試圖容器註冊它的自我是這樣的:團結集裝箱 - 對象同步方法從代碼
UnityContainer.RegisterInstance(UnityContainer);
但即時得到以下異常:
Object synchronization method was called from an unsynchronized block of code.
我試過尋找異常,但是我發現所有的東西都和互斥有關。
IM使用統一容器在我的項目不同步塊打來電話,即時通訊試圖容器註冊它的自我是這樣的:團結集裝箱 - 對象同步方法從代碼
UnityContainer.RegisterInstance(UnityContainer);
但即時得到以下異常:
Object synchronization method was called from an unsynchronized block of code.
我試過尋找異常,但是我發現所有的東西都和互斥有關。
容器已經自行註冊(如IUnityContainer
),所以您不必註冊它。考慮以下類:
public class MyClass
{
private readonly IUnityContainer m_UnityContainer;
public MyClass(IUnityContainer unity_container)
{
m_UnityContainer = unity_container;
}
}
現在,如果你簡單地解析這個類如下,它將有容器注入它。
var obj = container.Resolve<MyClass>();
請注意,有你的類依賴於容器意味着你要使用的容器來定位服務,這is considered an anti-pattern。
謝謝,調試後我發現你是我不需要註冊它,那真棒感謝的人。 – Pachu
雖然他不需要將容器註冊到自己,但這不是他的問題的答案。這是一個很好的答案,任何尋求標題問題幫助的人都沒有用。 –
哪一行引發異常? –
UnityContainer.RegisterInsance(UnityContaier) – Pachu