private static void Shutdown(object sender, ConsoleCancelEventArgs ccea) { Console.WriteLine("Exiting..."); try{ c.Stop(false); u.Close(); stopEvent.Set(); } catch {} }
public MainWindow() { InitializeComponent(); txtUserName.Text = "User" + new Random().Next(10000); cbChatRooms.ItemsSource = _rooms; var builder = new ContainerBuilder(); //register core messages builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(EmptyMessage))) .Where(x => x.IsAssignableTo<Message>() && x != typeof(Message)) .As<Message>(); //register domain messages builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(IChatLogin))) .Where(x => x.IsAssignableTo<Message>() && x != typeof(Message)) .As<Message>(); //register domain service definitions and proxies builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(IChatLogin))) .Where(x => x.IsAssignableTo<NetProxy>() && x != typeof(NetProxy)) .As<NetProxy>(); builder.RegisterType<OperationDispatcher>().As<IOperationDispatcher>().SingleInstance(); builder.RegisterType<MessageFactory>().As<IMessageFactory>().SingleInstance(); //builder.Register(c => new PhotonNetClient("MouseChat")).As<INetProvider>().SingleInstance(); var netConf = new NetPeerConfiguration("ChatApp") { ConnectionTimeout = 10000, }; builder.Register(x => new LidgrenNetProvider(netConf)).As<INetProvider>().SingleInstance(); builder.RegisterType<ClientNode>().As<IClientNode>(); var container = builder.Build(); _node = container.Resolve<IClientNode>(); //start node thread and init network _node.Start(); btnJoin.IsEnabled = false; Closing += (sender, e) => _node.Stop(); }
public MainWindow() { InitializeComponent(); txtUserName.Text = "User" + new Random().Next(10000); cbChatRooms.ItemsSource = _rooms; var builder = new ContainerBuilder(); //register core messages builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(EmptyMessage))) .Where(x => x.IsAssignableTo <Message>() && x != typeof(Message)) .As <Message>(); //register domain messages builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(IChatLogin))) .Where(x => x.IsAssignableTo <Message>() && x != typeof(Message)) .As <Message>(); //register domain service definitions and proxies builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(IChatLogin))) .Where(x => x.IsAssignableTo <NetProxy>() && x != typeof(NetProxy)) .As <NetProxy>(); builder.RegisterType <OperationDispatcher>().As <IOperationDispatcher>().SingleInstance(); builder.RegisterType <MessageFactory>().As <IMessageFactory>().SingleInstance(); //builder.Register(c => new PhotonNetClient("MouseChat")).As<INetProvider>().SingleInstance(); var netConf = new NetPeerConfiguration("ChatApp") { ConnectionTimeout = 10000, }; builder.Register(x => new LidgrenNetProvider(netConf)).As <INetProvider>().SingleInstance(); builder.RegisterType <ClientNode>().As <IClientNode>(); var container = builder.Build(); _node = container.Resolve <IClientNode>(); //start node thread and init network _node.Start(); btnJoin.IsEnabled = false; Closing += (sender, e) => _node.Stop(); }