public void Configure() { InitializeLogging(); try { ResourceSpace.Uses.CustomDependency <IUnitOfWorkManager, NHibernateUnitOfWorkManager>(DependencyLifetime.Singleton); // Initialize OpenRasta/modules using (OpenRastaConfiguration.Manual) { ResourceSpace.Uses.UriDecorator <ContentTypeExtensionUriDecorator>(); ResourceSpace.Uses.CustomDependency <IOperationInterceptor, OperationInterceptor>(DependencyLifetime.PerRequest); ResourceSpace.Uses.CustomDependency <IMasonBuilderContext, MasonBuilderContext>(DependencyLifetime.PerRequest); Projects.ApplicationStarter.Start(); Issues.ApplicationStarter.Start(); Attachments.ApplicationStarter.Start(); Contact.ApplicationStarter.Start(); ResourceCommons.ApplicationStarter.Start(); JsonSchemas.ApplicationStarter.Start(); ResourceSpace.Has.ResourcesOfType <Resource>() .WithoutUri .TranscodedBy <IssueTrackerMasonCodec>(); } // Setup default data SessionManager.Restart(); SessionManager.ExecuteUnitOfWork(() => { IIssueRepository issueRepository = (IIssueRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IIssueRepository)); IProjectRepository projectRepository = (IProjectRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IProjectRepository)); IAttachmentRepository attachmentRepository = (IAttachmentRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IAttachmentRepository)); DemoDataGenerator.GenerateDemoData(issueRepository, projectRepository, attachmentRepository); }); ApplicationLifeTimeManager.Start(); } catch (Exception ex) { Logger.Fatal(ex); throw; } }