Ejemplo n.º 1
0
        public bool Run()
        {
            bool ok = false;

            try
            {
                siloHost.InitializeOrleansSilo();

                ok = siloHost.StartOrleansSilo();

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

            return(ok);
        }
Ejemplo n.º 2
0
        public bool Run()
        {
            bool ok = false;

            try
            {
                siloHost.InitializeOrleansSilo();

                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);
                throw new Exception(msg, exc);
            }

            return(ok);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            MaximizeWindow();

            // First, configure and start a local silo
            var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();
            var silo       = new Orleans.Runtime.Host.SiloHost("TestSilo", siloConfig);

            silo.InitializeOrleansSilo();
            silo.StartOrleansSilo();

            Console.WriteLine("Silo started.");

            // Then configure and connect a client.
            var clientConfig = ClientConfiguration.LocalhostSilo();
            var client       = new ClientBuilder().UseConfiguration(clientConfig).Build();

            client.Connect().Wait();

            Console.WriteLine("Client connected.");

            DoWork(client).Wait();

            Console.WriteLine("\nPress Enter to terminate...");
            Console.ReadLine();

            // Shut down
            client.Close();
            silo.ShutdownOrleansSilo();
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            //var config = Orleans.Runtime.Configuration.ClusterConfiguration.LocalhostPrimarySilo();

            var host = new Orleans.Runtime.Host.SiloHost("Default");

            host.LoadOrleansConfig();

            host.InitializeOrleansSilo();
            host.StartOrleansSilo();


            //var config = Orleans.Runtime.Configuration.ClientConfiguration.LocalhostSilo();
            //GrainClient.Initialize(config);

            //var userID = Guid.NewGuid();
            //IHello pub = Orleans.GrainClient.GrainFactory.GetGrain<IHello>(userID);

            while (true)
            {
                var msg = Console.ReadLine();

                if (msg == "quit")
                {
                    break;
                }
                //pub.SendUpdateMessage(msg);
            }

            host.StopOrleansSilo();

            Console.ReadLine();
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            var config = new Orleans.Runtime.Configuration.ClusterConfiguration();

            config.LoadFromFile("Host.xml");
            //SiloHost siloHost = new SiloHost(System.Net.Dns.GetHostName());
            //初始化一个silohost,这里使用了Orleans提供的silohost而不是silo,其中silo的名字命名为Ba;
            Orleans.Runtime.Host.SiloHost siloHost = new Orleans.Runtime.Host.SiloHost("Ba", config);
            //初始化仓储
            siloHost.InitializeOrleansSilo();
            //启动
            siloHost.StartOrleansSilo();

            //检查一下
            if (siloHost.IsStarted)
            {
                Console.WriteLine("silohost 启动成功");
            }
            else
            {
                Console.WriteLine("启动失败");
            }
            Console.ReadKey();


            //关闭silo
            siloHost.StopOrleansSilo();
            //未初始化这个silo    (搞不懂啥意思)
            siloHost.UnInitializeOrleansSilo();
            //优雅的关闭这个silo
            siloHost.ShutdownOrleansSilo();
            Console.ReadKey();
        }
Ejemplo n.º 6
0
        private static void InitSilo(string[] args)
        {
            var config = new ClusterConfiguration();

            config.LoadFromFile(@".\OrleansHost.xml");
            var host = new Orleans.Runtime.Host.SiloHost(Guid.NewGuid().ToString(), config);

            host.InitializeOrleansSilo();
            host.StartOrleansSilo();
        }
        private static async Task <Orleans.Runtime.Host.SiloHost> StartSilo()
        {
            // define the cluster configuration
            var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();
            var silo       = new Orleans.Runtime.Host.SiloHost("Test Silo", siloConfig);

            silo.InitializeOrleansSilo();
            silo.StartOrleansSilo();
            return(silo);
        }
Ejemplo n.º 8
0
 static void Main(string[] args)
 {
     using (var host = new Orleans.Runtime.Host.SiloHost("Default"))
     {
         host.LoadOrleansConfig();
         host.InitializeOrleansSilo();
         host.StartOrleansSilo();
         Console.WriteLine("Starting...");
         Console.Read();
         host.StopOrleansSilo();
     }
 }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Metric.Config
            .WithHttpEndpoint("http://localhost:1234/server/")
            .WithAllCounters();

            var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();

            siloConfig.UseStartupType <Startup>();
            siloConfig.Globals.ReminderServiceType = GlobalConfiguration.ReminderServiceProviderType.ReminderTableGrain;
            siloConfig.Globals.RegisterStorageProvider <MemoryStorage>("nonGuaranteedMessagesStore");
            var silo = new Orleans.Runtime.Host.SiloHost("DataRelaySilo", siloConfig);

            silo.InitializeOrleansSilo();
            silo.Config.Globals.RegisterDashboard();
            silo.StartOrleansSilo();

            Console.WriteLine("Silo started.");
            Console.ReadKey();

            silo.ShutdownOrleansSilo();
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            //获得一个配置实例
            //它需要两个端口,第一个端口2234是用来silo与silo之间的通信的,第二个1234是用于监听client的请求的
            //var config = Orleans.Runtime.Configuration.ClusterConfiguration.LocalhostPrimarySilo(2234, 1234);

            //使用配置文件
            var config = new Orleans.Runtime.Configuration.ClusterConfiguration();

            config.LoadFromFile("host.xml");

            //初始化一个silohost,这里使用了Orleans提供的silohost而不是silo,其中silo的名字命名为Ba;
            Orleans.Runtime.Host.SiloHost silohost = new Orleans.Runtime.Host.SiloHost("Ba", config);

            //silohost.Config.Globals.LivenessType = GlobalConfiguration.LivenessProviderType.Custom;
            //silohost.Config.Globals.MembershipTableAssembly = "OrleansConsulUtils";
            //silohost.Config.Globals.ReminderServiceType = GlobalConfiguration.ReminderServiceProviderType.Disabled;

            silohost.InitializeOrleansSilo();

            silohost.StartOrleansSilo();

            //检查一下
            if (silohost.IsStarted)
            {
                Console.WriteLine("siloHost 启动成功");
            }
            else
            {
                Console.WriteLine("启动失败");
            }

            Console.ReadKey();

            // 关闭,停止
            silohost.StopOrleansSilo();
            silohost.UnInitializeOrleansSilo();
            silohost.ShutdownOrleansSilo();
        }
Ejemplo n.º 11
0
        public bool Run()
        {
            try
            {
                _siloHost.InitializeOrleansSilo();

                if (!_siloHost.StartOrleansSilo())
                {
                    throw new SystemException(
                              $"Failed to start Orleans silo '{_siloHost.Name}' as a {_siloHost.Type} node.");
                }

                Console.WriteLine($"Successfully started Orleans silo '{_siloHost.Name}' as a {_siloHost.Type} node.");
                return(true);
            }
            catch (Exception exc)
            {
                _siloHost.ReportStartupError(exc);
                var msg = $"{exc.GetType().FullName}:\n{exc.Message}\n{exc.StackTrace}";
                Console.WriteLine(msg);
                return(false);
            }
        }