public override void Configure(Funq.Container container) { //Set JSON web services to return idiomatic JSON camelCase properties ServiceStack.Text.JsConfig.EmitCamelCaseNames = true; //Register Typed Config some services might need to access var appSettings = new AppSettings(); Config = new AppConfig(appSettings); container.Register(Config); //Register all your dependencies: //Register a external dependency-free container.Register<ICacheClient>(new MemoryCacheClient()); //Configure an alt. distributed peristed cache that survives AppDomain restarts. e.g Redis //container.Register<IRedisClientsManager>(c => new PooledRedisClientManager("localhost:6379")); //Enable Authentication an Registration ConfigureAuth(container); //Create you're own custom User table var dbFactory = container.Resolve<IDbConnectionFactory>(); dbFactory.Exec(dbCmd => dbCmd.CreateTable<User>(overwrite: true)); //Register application services container.Register(new TodoRepository()); container.Register<ITwitterGateway>(new TwitterGateway()); //Configure Custom User Defined REST Paths for your services ConfigureServiceRoutes(); //Change the default ServiceStack configuration //const Feature disableFeatures = Feature.Jsv | Feature.Soap; SetConfig(new EndpointHostConfig { //EnableFeatures = Feature.All.Remove(disableFeatures), AppendUtf8CharsetOnContentTypes = new HashSet<string> { ContentType.Html }, DebugMode = true, //Show StackTraces in service responses during development }); //Set MVC to use the same Funq IOC as ServiceStack ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container)); ServiceStackController.CatchAllController = reqCtx => container.TryResolve<HomeController>(); }
public override void Configure(Funq.Container container) { //Set JSON web services to return idiomatic JSON camelCase properties ServiceStack.Text.JsConfig.EmitCamelCaseNames = true; //Load environment config from text file if exists var liveSettings = "~/appsettings.txt".MapHostAbsolutePath(); var appSettings = File.Exists(liveSettings) ? (IAppSettings)new TextFileSettings(liveSettings) : new AppSettings(); AppConfig = new AppConfig(appSettings); container.Register(AppConfig); //Change the default ServiceStack configuration //const Feature disableFeatures = Feature.Jsv | Feature.Soap; SetConfig(new HostConfig { AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Html }, HandlerFactoryPath = "api", DebugMode = true, }); //Register a external dependency-free container.Register<ICacheClient>(new MemoryCacheClient()); //Configure an alt. distributed persistent cache that survives AppDomain restarts. e.g Redis //container.Register<IRedisClientsManager>(c => new PooledRedisClientManager("localhost:6379")); //Enable Authentication an Registration ConfigureAuth(container, appSettings); //Create your own custom User table using (var db = container.Resolve<IDbConnectionFactory>().Open()) db.DropAndCreateTable<User>(); //Register application services container.Register(new TodoRepository()); container.Register<ITwitterGateway>(new TwitterGateway()); //Configure Custom User Defined REST Paths for your services ConfigureServiceRoutes(); Plugins.Add(new SwaggerFeature { UseBootstrapTheme = true }); Plugins.Add(new PostmanFeature()); Plugins.Add(new CorsFeature()); //Set MVC to use the same Funq IOC as ServiceStack ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container)); ServiceStackController.CatchAllController = reqCtx => container.TryResolve<HomeController>(); }
public override void Configure(Funq.Container container) { //Set JSON web services to return idiomatic JSON camelCase properties ServiceStack.Text.JsConfig.EmitCamelCaseNames = true; //Register Typed Config some services might need to access var appSettings = new AppSettings(); AppConfig = new AppConfig(appSettings); container.Register(AppConfig); //Register all your dependencies: //Register a external dependency-free container.Register<ICacheClient>(new MemoryCacheClient()); //Configure an alt. distributed persistent cache that survives AppDomain restarts. e.g Redis //container.Register<IRedisClientsManager>(c => new PooledRedisClientManager("localhost:6379")); //Enable Authentication an Registration ConfigureAuth(container); //Create your own custom User table using (var db = container.Resolve<IDbConnectionFactory>().Open()) db.DropAndCreateTable<User>(); //Register application services container.Register(new TodoRepository()); container.Register<ITwitterGateway>(new TwitterGateway()); //Configure Custom User Defined REST Paths for your services ConfigureServiceRoutes(); //Change the default ServiceStack configuration //const Feature disableFeatures = Feature.Jsv | Feature.Soap; SetConfig(new HostConfig { //EnableFeatures = Feature.All.Remove(disableFeatures), AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Html }, }); Plugins.Add(new SwaggerFeature()); Plugins.Add(new CorsFeature()); //Set MVC to use the same Funq IOC as ServiceStack ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container)); ServiceStackController.CatchAllController = reqCtx => container.TryResolve<HomeController>(); }