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); }