2013-08-03 235 views
1

我可以使用web配置中的「映射」來覆蓋代碼中定義的註冊嗎?使用配置覆蓋Unity註冊?

我讀過很多教程,涵蓋了可以在配置或代碼中完成的註冊,但沒有(至今)使用兩者的註冊。

我的情況基於Azure。在本地,我想要註冊一個界面,該界面可以解析爲基於文件的提供程序,而在雲中則是基於存儲的提供程序。

這是可能的還是我將不得不將邏輯寫入基於代碼的註冊,以確定接口要解析哪種類型?

回答

2

是的,您可以使用配置覆蓋手動註冊,反之亦然。 Unity允許你重寫映射,它不關心信息的來源。

container.RegisterType(...); 
container.LoadConfiguration(); // override with configuration 
container.RegisterType(...); // override once again, this time with manual mapping 
+1

這是一個。我不希望手動加載配置。另外,這種方法只能通過擴展來使用,所以以前沒有發現過。 –