Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using SlateCore.BLL.Util;
- [assembly: WebActivatorEx.PreApplicationStartMethod(typeof(SlateCORE.Web.App_Start.NinjectWebCommon), "Start")]
- [assembly: WebActivatorEx.ApplicationShutdownMethodAttribute(typeof(SlateCORE.Web.App_Start.NinjectWebCommon), "Stop")]
- namespace SlateCORE.Web.App_Start
- {
- using System;
- using System.Web;
- using System.Configuration;
- using System.Data;
- using Microsoft.Web.Infrastructure.DynamicModuleHelper;
- using Ninject;
- using Ninject.Web.Common;
- using Ninject.Web.Common.WebHost;
- public static class NinjectWebCommon
- {
- private static readonly Bootstrapper bootstrapper = new Bootstrapper();
- /// <summary>
- /// Starts the application
- /// </summary>
- public static void Start()
- {
- DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
- DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
- bootstrapper.Initialize(CreateKernel);
- }
- /// <summary>
- /// Stops the application.
- /// </summary>
- public static void Stop()
- {
- bootstrapper.ShutDown();
- }
- /// <summary>
- /// Creates the kernel that will manage your application.
- /// </summary>
- /// <returns>The created kernel.</returns>
- private static IKernel CreateKernel()
- {
- var modules = new Ninject.Modules.INinjectModule[]
- {
- //new SlateCore.BLL.Infrastructure.ServiceModule("DefaultConnection")
- new ServiceModule(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString())
- };
- var kernel = new StandardKernel(modules);
- try
- {
- kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
- kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
- RegisterServices(kernel);
- return kernel;
- }
- catch
- {
- kernel.Dispose();
- throw;
- }
- }
- /// <summary>
- /// Load your modules or register your services here!
- /// </summary>
- /// <param name="kernel">The kernel.</param>
- private static void RegisterServices(IKernel kernel)
- {
- System.Web.Mvc.DependencyResolver.SetResolver(new SlateCORE.Web.Util.NinjectDependencyResolver(kernel));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement