protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(cfg => { WebApiConfig.Register(cfg); }); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var windsor = new WindsorContainer(); windsor.Register(Component.For <IServiceProvider>().Instance(new ServiceProviderWrapper(windsor))); var jasonConfig = new DefaultJasonServerConfiguration(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin")) { Container = new WindsorJasonContainerProxy(windsor), TypeFilter = t => !t.Is <MissingHandler>() }; jasonConfig.AddEndpoint(new Jason.WebAPI.JasonWebAPIEndpoint(GlobalConfiguration.Configuration) { //TypeNameHandling = TypeNameHandling.Objects, IsCommandConvention = t => { return(t.Namespace != null && t.Namespace == "SampleTasks"); } }); jasonConfig.AddEndpoint(new Jason.Client.JasonInProcessEndpoint()); jasonConfig.UsingAsFallbackCommandHandler <MissingHandler>(); jasonConfig.Initialize(); GlobalConfiguration.Configuration.DependencyResolver = new DelegateDependencyResolver() { OnGetService = t => { if (windsor.Kernel.HasComponent(t)) { return(windsor.Resolve(t)); } return(null); }, OnGetServices = t => { if (windsor.Kernel.HasComponent(t)) { return(windsor.ResolveAll(t).OfType <Object>()); } return(new List <Object>()); } }; }