private static ChildKernel CreateAuthKernel(IResolutionRoot parent) { var kernel = new ChildKernel(parent, new ServerModule(), new AuthServerModule()); kernel.Rebind <IPacketCodeTable>().To <AuthPacketCodeTableV75>().InSingletonScope(); kernel.Rebind <IAuthenticator>().To <StubAuthenticator>().InSingletonScope(); kernel.Rebind <IAccountProvider>().To <StubAccountProvider>().InSingletonScope(); return(kernel); }
public virtual IChildKernel GetChildKernel(IKernel parentKernel, IList <Type> excludedTypes = null) { var kernel = new ChildKernel(parentKernel); ApplyAutoBindings(kernel, excludedTypes); kernel.Rebind <IKernelFactory>().ToConstant(this); return(kernel); }
private void ConfigureWebApi(IAppBuilder app, IResolutionRoot resolutionRoot) { var config = new HttpConfiguration(); var kernel = new ChildKernel(resolutionRoot); kernel.Rebind <HttpConfiguration>().ToConstant(config); kernel.Bind <DefaultModelValidatorProviders>().ToConstant(new DefaultModelValidatorProviders(config.Services.GetServices(typeof(ModelValidatorProvider)).Cast <ModelValidatorProvider>())); kernel.Bind <DefaultFilterProviders>().ToConstant(new DefaultFilterProviders(config.Services.GetServices(typeof(IFilterProvider)).Cast <IFilterProvider>())); var dependencyResolver = new NinjectDependencyResolver(kernel); config.DependencyResolver = dependencyResolver; config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new StringEnumConverter()); config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.Remove(config.Formatters.XmlFormatter); config.EnableCors(new EnableCorsAttribute("http://localhost:8081", "*", "*", "Cookie") { SupportsCredentials = true }); var constraintResolver = new DefaultInlineConstraintResolver(); constraintResolver.ConstraintMap.Add("situation", typeof(SituationConstraint)); config.MapHttpAttributeRoutes(constraintResolver); config.Routes.MapHttpRoute("Default", "{controller}/{id}"); config.EnableSwagger(c => { var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; var commentsFileName = Assembly.GetExecutingAssembly().GetName().Name + ".XML"; var commentsFile = Path.Combine(baseDirectory, "bin", commentsFileName); c.IncludeXmlComments(commentsFile); c.RootUrl(h => $"{h.RequestUri.Scheme}://{h.RequestUri.Host}:{h.RequestUri.Port}/api"); c.SingleApiVersion("v1", "Michael's Place SPA API."); }) .EnableSwaggerUi(); app.Map("/api", webApi => { webApi.UseWebApi(config); }); }