static void Main(string[] args) { //Create chat server instance var chatServer = new ChatServer(); //Remote Hub var siteId = ServerId.SiteId; remoteHub = new RemoteHubOverRedis <string>(siteId, connectionString, OnMessageReceivedFromRemoteHub); remoteHub.RemoteClientRemoved += RemoteHub_RemoteClientRemoved; //Remote Agency remoteAgency = new RemoteAgencyManagerEncapsulated(false, true, siteId); remoteAgency.MessageForSendingPrepared += OnMessageForSendingPrepared; remoteAgency.AddServiceWrapper <IChatServer>(chatServer, ServerId.ServiceId); remoteHub.Start(); remoteAgency.Connect(); Console.WriteLine("Chat server is started. Press any key to quit."); Console.ReadKey(true); remoteAgency.Disconnect(false); remoteHub.Stop(); remoteAgency.Dispose(); remoteHub.Dispose(); }
static void Main(string[] args) { //Init Console.Write("Enter your name and press enter <Empty = Exit>: "); var name = Console.ReadLine(); if (string.IsNullOrWhiteSpace(name)) { return; } //Remote Hub var siteId = Guid.NewGuid(); remoteHub = new RemoteHubOverRedis <string>(siteId, connectionString, OnMessageReceivedFromHub); //Remote Agency remoteAgency = new RemoteAgencyManagerEncapsulated(true, false, siteId); remoteAgency.MessageForSendingPrepared += OnMessageForSendingPrepared; remoteAgency.DefaultTargetSiteId = ServerId.SiteId; var chatServer = remoteAgency.AddProxy <IChatServer>(ServerId.ServiceId, out var instanceId); remoteHub.Start(); remoteAgency.Connect(); chatServer.MessageReceived += ChatServer_MessageReceived; Console.WriteLine("Started. Please chat and press enter. Empty = Exit."); while (true) { var text = Console.ReadLine(); if (string.IsNullOrWhiteSpace(text)) { break; } chatServer.SendMessage(name, text); } ((IDisposable)chatServer).Dispose(); remoteAgency.Disconnect(false); remoteHub.Stop(); remoteAgency.Dispose(); remoteHub.Dispose(); }