Click here to Skip to main content
15,846,342 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a web API controller, and I am using Unity.WebAPI for resolving dependency.
Following is my Bootstrapper.cs code,

public static class Bootstrapper
       /// <summary>
       /// Public method to initialise UnityContainer.
       /// </summary>
       public static void Initialise()
           var container = BuildUnityContainer();
           DependencyResolver.SetResolver(new UnityDependencyResolver(container));
           // register dependency resolver for WebAPI RC
           GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

       /// <summary>
       /// Register built in types.
       /// </summary>
       /// <returns></returns>
       private static IUnityContainer BuildUnityContainer()
           var container = new UnityContainer();
           container.RegisterType<IUserService, UserService>().RegisterType<UnitOfWork>(new HierarchicalLifetimeManager());

           return container;

This resolves my UserService to my UsersController , my controller code is,

#region Private member variables.

       private readonly IUserService _userService;


       #region Public Constructor

       /// <summary>
       /// Public constructor to initialize user service instance
       /// </summary>
       /// <param name="userService"></param>
       /// <param name="tokenService"> </param>
       public UsersController(IUserService userService)
           _userService = userService;

Now suppose My UserService also depends on any other class say Employee and needs a new Employee() instance wheneven UserService instance is needed.
How can I resolve the dependency of this new Employee() class in my UserService.
Also note that Employee class does not Implement any Interface.

Please answer.Or let me know if any further clarification is needed.I hope I am clear in asking the question.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900