Microsoft's current tool of choise for IOC is Unity.
The other Day, I wanted to use my IOC-container inside the Microsoft Workflow Runtime. The reason for this is that I wanted my custom activities to support IOC;
Although the implementation is straightforward, it might save you some time.
public class UnityDefaultWorkflowSchedulerService: DefaultWorkflowSchedulerService
{
private IUnityContainer _container;
public UnityDefaultWorkflowSchedulerService (IUnityContainer container)
{
_container = container;
}
protected override void OnStarted()
{
//wrap the container in a singleton to make it global
ServiceLocator.UseUnityContainer(_container);
base.OnStarted();
}
}
Please note that the example uses the IUnitityContainer directly. However, I like to wrap unity in my own IOC-container thus making the Inversion Of Control Container Inversionable. Get it?
Happy Inversioning.
1 comment:
What exactly is the 'ServiceLocator' that you are using?
Post a Comment