Eine Möglichkeit, dies zu tun, die ich oft für Bequemlichkeit zu tun ist Ihr Container als globale Variable in Ihrer Global.ascx.cs wie Datei zu deklarieren:
public class MvcApplication : System.Web.HttpApplication
{
public static UnityContainer Container;
protected void Application_Start()
{
// assuming your initialize here
}
}
Dies ist jedoch ziemlich Hack- ish.
Die richtige Lösung wäre, Unity zu verwenden, um Ihre Controller aufzulösen (See this article on creating a unity controller factory), und dann zuzulassen, dass alle Abhängigkeiten in den Controller injiziert werden, wenn der Controller aufgelöst wird.
So ein Controller wie:
public MyController: Controller {
public ICacheManager CacheManager {get;set;}
}
Würde automatisch alle Abhängigkeiten Resolver, dass Ihr Behälter registriert hat.
Thank you! Genau das, was ich brauche. – Sergey