/// <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); }
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); }
/// <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; }
/// <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); }
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"); }
public NodeController(INodeServer nodeServer, IParagrphNodeServer paragrphNodeServer) { _nodeServer = nodeServer; _paragrphNodeServer = paragrphNodeServer; }
public ParagraphController(INodeServer nodeServer) { _nodeServer = nodeServer; }
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); }