Ich bin ein Schloss Winsor Noob. Ich habe ein WebForm-Projekt, das ein heißes Durcheinander ist. Ich versuche eine Abhängigkeit zu lösen, um die Benutzerregistrierung zu testen. Wie komme ich zum aktuellen WindsorContainer?Wie bekomme ich den aktuellen Castle Windsor Container?
IWindsorContainer container = ???;
IRegistrationLogic registrationLogic = container.Resolve<IRegistrationLogic>();
_registrationLogic.Register();
Hier ist mein Bootstrapper:
public class WindsorConfigTask : ICastleBootstrapperTask
{
public void Execute()
{
Container.AddFacility<WcfFacility>();
Container.Register(
Component.For<IProcessMessageRequest>()
.ActAs(
new DefaultClientModel
{
Endpoint =
WcfEndpoint.ForContract<IProcessMessageRequest>().FromConfiguration("surveyClient2")
}
),
Component.For<ILocalMembershipService>()
.ActAs(
new DefaultClientModel
{
Endpoint =
WcfEndpoint.ForContract<ILocalMembershipService>().FromConfiguration(
"localMembershipClient")
})
);
Container.Register(Component.For<IRegistrationLogic>()
.ImplementedBy<RegistrationLogic>()
.LifeStyle.Is(LifeStyleType));
}
public IWindsorContainer Container { get; set; }
#region ICastleBootstrapperTask Members
public Castle.Core.LifestyleType LifeStyleType
{
get;
set;
}
#endregion
}
, dass die gleiche Sache tut, schlug ich vor, aber es ist nicht offensichtlich, dass Sie erstellen müssen eine Statik des Containers. Die statische ist wirklich der Schlüssel, nicht die Eigenschaft, die die Schnittstelle vorschlägt. – CrazyDart
ich nicht, denn hier ist gut definiert, wann der Container erstellt wird und wann er aufgeräumt wird. Ihre Lösung kann einige Probleme mit sich bringen. –
Das ist großartig .. wie kann ich auf diesen Kontext in WebAPI zugreifen? – ppumkin