Exemple #1
0
        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);
        }
Exemple #2
0
        public ApiModule(Saver saver)
        {
            Get[""] = (_) =>
            {
                saver.Foo();
                return("haa");
            };

            Post["save"] = (_) =>
            {
                var body = Request.GetBody();
                saver.Push(body.records);
                saver.Save();
                return("ok");
            };
        }