A WCF RIA Services DomainService Factory using Microsoft Pattern&Practices Unity 2.0 IoC Container
public class UnityDomainServiceFactory : IDomainServiceFactory
{
private IUnityContainer _unityContainer = null;
public UnityDomainServiceFactory(IUnityContainer unityContainer)
{
if (unityContainer == null)
throw new ArgumentNullException("unityContainer");
_unityContainer = unityContainer;
}
public DomainService CreateDomainService(Type domainServiceType, DomainServiceContext context)
{
var service = _unityContainer.Resolve(domainServiceType) as DomainService;
service.Initialize(context);
return service;
}
public void ReleaseDomainService(DomainService domainService)
{
domainService.Dispose();
}
}
How to use the Code:
You can for example in the Global.asax add the following to the Application_Start:
protected void Application_Start(object sender, EventArgs e)
{
UnityContainerConfiguration.Configure();
DomainService.Factory = new UnityDomainServiceFactory(UnityContainerConfiguration.Container);
}
Here is the code for the UnityContainerConfiguration class used to setup the Unity container:
public static class UnityContainerConfiguration
{
public readonly static IUnityContainer Container = new UnityContainer();
public static IUnityContainer Configure()
{
Container.RegisterType<MemberDomainService>();
Container.RegisterType<IMemberRepository, MemberRepository>();
//...
return Container;
}
}
Fork
0 Feedback
You must log in before you can give any feedback
You must log in before you can post a comment


880
0




Mark '.net' tag as 'like'
Mark '.net' tag as 'ignore'