SHARE
TWEET

Untitled

a guest Jan 6th, 2015 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Data.Entity;
  3. using System.Web;
  4. using EIT.Foundation.Interception.Ninject;
  5. using EIT.Foundation.Persistence.Domain.UnitOfWork;
  6. using EIT.Foundation.Persistence.EntityFramework;
  7. using EIT.Management.Common.Video;
  8. using EIT.Management.Configuration.Web.Api.Helpers;
  9. using EIT.Management.Configuration.Web.Application;
  10. using EIT.Management.Persistence;
  11. using EIT.Management.Persistence.Repositories;
  12. using Microsoft.Web.Infrastructure.DynamicModuleHelper;
  13. using Ninject;
  14. using Ninject.Planning.Strategies;
  15. using Ninject.Syntax;
  16. using Ninject.Web.Common;
  17.  
  18. [assembly: WebActivatorEx.PreApplicationStartMethod(typeof(StartupConfig), "Start")]
  19. [assembly: WebActivatorEx.ApplicationShutdownMethodAttribute(typeof(StartupConfig), "Stop")]
  20.  
  21. namespace EIT.Management.Configuration.Web.Application
  22. {
  23.         public static class StartupConfig
  24.         {
  25.                 private static readonly Bootstrapper Bootstrapper = new Bootstrapper();
  26.  
  27.                 public static void Start()
  28.                 {
  29.                         DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
  30.                         DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
  31.                         Bootstrapper.Initialize(CreateKernel);
  32.                 }
  33.                
  34.                 public static void Stop()
  35.                 {
  36.                         Bootstrapper.ShutDown();
  37.                 }
  38.                
  39.                 private static IKernel CreateKernel()
  40.                 {
  41.                         var kernel = new StandardKernel();
  42.                         try
  43.                         {
  44.                                 kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
  45.                                 kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
  46.  
  47.                                 RegisterServices(kernel);
  48.                                 RegisterDependencyStrategies(kernel);
  49.                                 return kernel;
  50.                         }
  51.                         catch
  52.                         {
  53.                                 kernel.Dispose();
  54.                                 throw;
  55.                         }
  56.                 }
  57.  
  58.                 private static void RegisterDependencyStrategies(IKernel kernel)
  59.                 {
  60.                         kernel.Components
  61.                                 .Add<IPlanningStrategy,
  62.                                 AttributeInterceptionStrategy<UnitOfWorkAttribute, EfUnitOfWorkInterceptor>>();
  63.                 }
  64.  
  65.                 private static void RegisterServices(IBindingRoot kernel)
  66.                 {
  67.                         kernel.Bind<DbContext>().To<ManagementContext>()
  68.                                 .InRequestScope();
  69.                         kernel.Bind<IUnitOfWork>().To<EfUnitOfWork>()
  70.                                 .InRequestScope();
  71.                         kernel.Bind<ICameraRepository>()
  72.                                 .To<EfCameraRepository>();
  73.                         kernel.Bind<IDisplayRepository>()
  74.                                 .To<EfDisplayRepository>();
  75.                         kernel.Bind<ISetupGroupRepository>()
  76.                                 .To<EfSetupGroupRepository>();
  77.                 }        
  78.         }
  79. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top