Một cách để làm điều này mà tôi thường làm cho thuận tiện là tuyên bố container của bạn như là một biến toàn cầu trong Global.ascx.cs bạn nộp như:
public class MvcApplication : System.Web.HttpApplication
{
public static UnityContainer Container;
protected void Application_Start()
{
// assuming your initialize here
}
}
Tuy nhiên điều này là khá hack- ish.
Điều chính xác cần làm là sử dụng Unity để giải quyết bộ điều khiển của bạn (See this article on creating a unity controller factory), và sau đó cho phép thống nhất để chèn bất kỳ phụ thuộc vào bộ điều khiển của bạn khi nó giải quyết bộ điều khiển.
Vì vậy, một bộ điều khiển như:
public MyController: Controller {
public ICacheManager CacheManager {get;set;}
}
Sẽ Automagically phân giải bất kỳ phụ thuộc mà chứa của bạn đã đăng ký.
Cảm ơn bạn! Chính xác những gì tôi cần. – Sergey