public bool Run()
        {
            bool ok = false;

            try
            {
                var rabbitMqConnectString = ConfigurationManager.ConnectionStrings["rabbitMqConnectString"].ConnectionString;
                siloHost.InitializeOrleansSilo();
                siloHost.UseEventStore(rabbitMqConnectString);
                ok = siloHost.StartOrleansSilo();

                if (ok)
                {
                    Console.WriteLine(string.Format("Successfully started Orleans silo '{0}' as a {1} node.", siloHost.Name, siloHost.Type));
                }
                else
                {
                    throw new SystemException(string.Format("Failed to start Orleans silo '{0}' as a {1} node.", siloHost.Name, siloHost.Type));
                }
            }
            catch (Exception exc)
            {
                siloHost.ReportStartupError(exc);
                var msg = string.Format("{0}:\n{1}\n{2}", exc.GetType().FullName, exc.Message, exc.StackTrace);
                Console.WriteLine(msg);
            }

            return(ok);
        }