Esempio n. 1
0
        static void Main(string[] args)
        {
            // The Orleans silo environment is initialized in its own app domain in order to more
            // closely emulate the distributed situation, when the client and the server cannot
            // pass data via shared memory.
            AppDomain hostDomain = AppDomain.CreateDomain("OrleansHost", null, new AppDomainSetup
            {
                AppDomainInitializer          = InitSilo,
                AppDomainInitializerArguments = args,
            });

            Orleans.OrleansClient.Initialize("DevTestClientConfiguration.xml");

            var sender = Guid.NewGuid();

            Console.WriteLine("Sender: {0}", sender);

            var receiver = Guid.NewGuid();

            Console.WriteLine("Receiver: {0}", receiver);

            var senderGrain = ChatUserFactory.GetGrain(sender);

            senderGrain.SendMessage(receiver, "Hello");

            Console.WriteLine("Orleans Silo is running.\nPress Enter to terminate...");
            Console.ReadLine();

            hostDomain.DoCallBack(ShutdownSilo);
        }
Esempio n. 2
0
        public Task SendMessage(Guid receiver, string message)
        {
            Console.WriteLine("Sending message \"{0}\" to {1}", message, receiver);

            var receiverGrain = ChatUserFactory.GetGrain(receiver);
            var myself        = this.GetPrimaryKey();

            return(receiverGrain.ReceiveMessage(myself, message));
        }