Exemplo n.º 1
0
        /// <summary>
        /// 将所有服务设置为禁用,可在运行时动态设置服务
        /// </summary>
        /// <param name="nodeServer"></param>
        /// <returns></returns>
        public static INodeServer DisableAll(this INodeServer nodeServer)
        {
            var routeList = nodeServer.RouteManager.GetAllRoutes();

            foreach (var route in routeList)
            {
                route.Enabled = false;
            }
            return(nodeServer);
        }
Exemplo n.º 2
0
        private INodeServer BuildNodeServer()
        {
            INodeServer nodeServer = nodeServerFactory == null ? new DefaultNodeServer(config) : nodeServerFactory(config);

            if (nodeServer == null)
            {
                throw new InvalidOperationException("Load XNode server instance failed.");
            }

            return(nodeServer);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 使用服务发布
        /// </summary>
        /// <param name="nodeServer"></param>
        /// <param name="servicePublisher">服务发布器</param>
        /// <param name="serializerName">序列化器名称</param>
        /// <returns></returns>
        public static INodeServer UseServicePublish(this INodeServer nodeServer, IServicePublisher servicePublisher, string serializerName)
        {
            nodeServer.OnStarted += arg =>
            {
                var serviceTypes = arg.Routes.Where(r => r.Enabled).Select(r => r.ServiceType).Distinct();
                servicePublisher.Publish(serviceTypes, arg.Host, arg.Port, serializerName);
            };

            nodeServer.OnStopped += arg =>
            {
                servicePublisher.Dispose();
            };

            return(nodeServer);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="userServer"></param>
 /// <param name="nodeServer"></param>
 /// <param name="paragraphServer"></param>
 /// <param name="repository"></param>
 /// <param name="gameNodeServer"></param>
 /// <param name="gameStrategyServer"></param>
 public HomeController(
     IUserServer userServer,
     INodeServer nodeServer,
     IParagraphServer paragraphServer,
     IRepository <GameStrategy> repository,
     IGameNodeServer gameNodeServer,
     IGameStrategyServer gameStrategyServer
     )
 {
     _userServer         = userServer;
     _nodeServer         = nodeServer;
     _paragraphServer    = paragraphServer;
     _repository         = repository;
     _gameNodeServer     = gameNodeServer;
     _gameStrategyServer = gameStrategyServer;
 }
Exemplo n.º 5
0
 /// <summary>
 /// 将指定服务设置为禁用
 /// </summary>
 /// <param name="nodeServer"></param>
 /// <param name="serviceId"></param>
 /// <param name="actionId"></param>
 /// <returns></returns>
 public static INodeServer Disable(this INodeServer nodeServer, int serviceId, int?actionId = null)
 {
     if (actionId != null)
     {
         var route = nodeServer.RouteManager.GetRoute(serviceId, actionId.Value);
         if (route != null)
         {
             route.Enabled = false;
         }
     }
     else
     {
         var routeList = nodeServer.RouteManager.GetAllRoutes().Where(r => r.ServiceId == serviceId);
         foreach (var route in routeList)
         {
             route.Enabled = false;
         }
     }
     return(nodeServer);
 }
Exemplo n.º 6
0
        public static void Test()
        {
            LoggerManager.ServerLoggerFactory.AddConsole(LogLevel.Information);
            LoggerManager.ClientLoggerFactory.AddConsole(LogLevel.Error);

            string path       = Path.Combine(Directory.GetCurrentDirectory(), "config_simple.json");
            var    configRoot = new ConfigurationBuilder()
                                .AddJsonFile(path)
                                .Build();

            var globalConfig = configRoot.GetGlobalConfig();

            GlobalSettings.Apply(globalConfig);

            IServiceProxyManager serviceProxyManager = StartClient(configRoot);
            IContainer           container           = GetAutofacContainer(serviceProxyManager);
            INodeServer          nodeServer          = StartServer(configRoot, container);

            System.Console.ReadLine();
            nodeServer.StopAsync().Wait();
            System.Console.WriteLine("Stop");
        }
Exemplo n.º 7
0
 public NodeController(INodeServer nodeServer,
                       IParagrphNodeServer paragrphNodeServer)
 {
     _nodeServer         = nodeServer;
     _paragrphNodeServer = paragrphNodeServer;
 }
Exemplo n.º 8
0
 public ParagraphController(INodeServer nodeServer)
 {
     _nodeServer = nodeServer;
 }
Exemplo n.º 9
0
        private static void UseServicePublish(IConfigurationRoot configRoot, ISerializer serializer, INodeServer nodeServer)
        {
            var zookeeperConfig  = configRoot.GetZookeeperConfig();
            var servicePublisher = new ServicePublisher(zookeeperConfig, LoggerManager.ServerLoggerFactory);

            nodeServer.UseServicePublish(servicePublisher, serializer.Name);
        }