UnityContainer.Résoudre ou ServiceLocator.GetInstance?

Il pourrait sembler une question stupide, parce que dans mon code, tout fonctionne, mais j'ai enregistré un singleton de cette façon avec mon Unité de conteneur _ambientContainer:

 _ambientContainer.RegisterType<Application.StateContext>(new ContainerControlledLifetimeManager());

Afin d'éviter d'utiliser mon champ local, j'utilise:

get {
    return ServiceLocator.Current.GetInstance<Application.StateContext>();
}

à l'intérieur de mon obtenir la propriété pour obtenir une instance de mon objet.
De cette façon, j'obtiens toujours la même instance (Application.StateContext est encore un singleton) ou ne GetInstance en créer un nouveau?

Est-il préférable d'utiliser le local _ambientContainer champ à la place?

get {
    return _ambientContainer.Resolve<Application.StateContext>();
}

Merci.

OriginalL'auteur zero51 | 2012-02-16