Register now or log in to join your professional community.
1. Autofac is nothing but an open-source dependency injection (DI) or inversion of control (IoC) container developed on Google Code.Its similar to Ninject or other IOC.
I don't know what difficulty you are getting in WCF self hosting by MVC5 using Autofac.I think you can do like as given below example for WEBAPI :
Configured Autofac with ASP.Net MVC4 and WebAPI. Here are the steps required to configure Autofac
Install package Autofac.MVC4
Install package Autofac.WebApi
Add a class AutofacBootstrap. Use this class to configure the dependencies within your project.
public class AutofacBootstrap
{
internal static void Init(ContainerBuilder builder)
{
}
}
Open Global.asax file and add a method like
private void RegisterIOC()
{
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
builder.RegisterApiControllers(typeof(MvcApplication).Assembly);
AutofacBootstrap.Init(builder);
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
GlobalConfiguration.Configuration.DependencyResolver = new Autofac.Integration.WebApi.AutofacWebApiDependencyResolver(container);
}
Call the method from Application_Start
Its done.
B> There is a drawback and advantages of self hosting WCF with in a project or IIS.
Self-Hosting :
Needs to add code to host the process.
Host process should be running before client makes a call to the service.
Automatic process recycling not possible.
Can controlled the service lifetime using Open and Close methods.
Easy to deploy.
IIS Hosting :
Automatic hosting.
IIS host runs automatically when a client makes a call to the service.
Automatic process recycling possible.
Lifetime cannot be controlled manually.
More difficult deployment than Self-Hosting.
Let me know if you have any concern i will try to create sample project in MVC5 with Autofac for you.
Do you need help in adding the right keywords to your CV? Let our CV writing experts help you.