コード例 #1
0
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main()
        {
#if (!DEBUG)
            try
            {
                logger.InfoFormat("Initialising SachaBarber.CQRS.Demo.OrderService in assembly {0} RELEASE windows service mode.", System.Reflection.Assembly.GetExecutingAssembly().FullName);

                System.ServiceProcess.ServiceBase.Run(new Service());
            }
            catch (Exception e)
            {
                logger.Error(e);
            }
#else
            try
            {
                logger.Info("Initialising SachaBarber.CQRS.Demo.OrderService");
                OrderServiceRunner dealingServiceRunner = new OrderServiceRunner();
                dealingServiceRunner.Start();
                ManualResetEvent mre = new ManualResetEvent(false);
                Console.CancelKeyPress += (s, e) =>
                {
                    if (e.SpecialKey == ConsoleSpecialKey.ControlC)
                    {
                        mre.Set();
                    }
                };

                mre.WaitOne();
                dealingServiceRunner.Stop();
            }
            catch (Exception e)
            {
                logger.Error(e);
            }
#endif
        }
コード例 #2
0
 protected override void OnStart(string[] args)
 {
     this.orderServiceRunner = new OrderServiceRunner();
     this.orderServiceRunner.Start();
 }