public void Start() { var uc = new UnityContainer(); var saver = new Saver(); bus = new Bus(); bus.OnMessageReceived += (se, ea) => { var records = ea.Message.body.records; saver.Push(records); }; bus.Start(); int interval = int.Parse(ConfigurationManager.AppSettings["save-interval-seconds"]); timer = new Timer(); timer.Interval = interval * 1000; timer.Elapsed += (se, ea) => { saver.Save(); }; timer.Start(); uc.RegisterInstance(bus); uc.RegisterInstance(saver); var url = ConfigurationManager.AppSettings["url"]; webHost = WebApp.Start(url, app => { app.UseNancy(opt => opt.Bootstrapper = new Bootstrapper(uc)); }); logger.Info("сервис запущен, url: {0}", url); }
public ApiModule(Saver saver) { Get[""] = (_) => { saver.Foo(); return("haa"); }; Post["save"] = (_) => { var body = Request.GetBody(); saver.Push(body.records); saver.Save(); return("ok"); }; }