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