private static void SetConfig(Router clientRouter) { NSPClientConfig config = new NSPClientConfig(); config.ProviderAddress = Configuration.GetSection("ProviderAddress").Value; // config.ProviderPort = int.Parse(Configuration.GetSection("ProviderPort").Value); // config.ProviderConfigPort = int.Parse(Configuration.GetSection("ProviderConfigPort").Value); config.ProviderWebPort = int.Parse(Configuration.GetSection("ProviderWebPort").Value); var configClients = Configuration.GetSection("Clients").GetChildren(); foreach (var cli in configClients) { int confConsumerPort = 0; if (cli["ConsumerPort"] != null) { confConsumerPort = int.Parse(cli["ConsumerPort"]); } config.Clients.Add(new ClientApp { IP = cli["IP"], TargetServicePort = int.Parse(cli["TargetServicePort"]), ConsumerPort = confConsumerPort, Host = cli["Host"], //(DbProviderType)Enum.Parse(typeof(DbProviderType), strDbType, true) Protocol = Enum.Parse <Protocol>((cli["Protocol"] ?? "TCP").ToUpper()), Description = cli["Description"] }); } // Configuration.GetSection("1"). clientRouter.SetConfiguration(config); }
private static void SetConfig(Router clientRouter) { NSPClientConfig config = new NSPClientConfig(); config.ProviderAddress = Configuration.GetSection("ProviderAddress").Value; config.ProviderPort = int.Parse(Configuration.GetSection("ProviderPort").Value); config.ProviderConfigPort = int.Parse(Configuration.GetSection("ProviderConfigPort").Value); var configClients = Configuration.GetSection("Clients").GetChildren(); foreach (var cli in configClients) { int confConsumerPort = 0; if (cli["ConsumerPort"] != null) { confConsumerPort = int.Parse(cli["ConsumerPort"]); } config.Clients.Add(new ClientApp { IP = cli["IP"], TargetServicePort = int.Parse(cli["TargetServicePort"]), ConsumerPort = confConsumerPort }); } // Configuration.GetSection("1"). clientRouter.SetConfiguration(config); }
private static string TryLoadDefaultPath(string ConfigFilePath) { int n = 0; while (n <= 10) //最近10个配置文件 { try { string path = ConfigFilePath; if (n > 0) { path = path.Replace("appsettings.json", "appsettings_" + n + ".json"); } NSPClientConfig config = ConfigHelper.ReadAllConfig <NSPClientConfig>(path); if (config != null) { return(path); } } catch { } n++; } return(ConfigFilePath); }
public void SetServerClientConfig(string userName, string config) { NSPClientConfig nspClientConfig = null; if (String.IsNullOrWhiteSpace(config))//用户如果清空了配置则客户端会自行使用自己的配置文件 { Dbop.SetConfig(userName, ""); } else { try { nspClientConfig = config.ToObject <NSPClientConfig>(); nspClientConfig.UseServerControl = true; //nspClientConfig.ProviderAddress = HttpContext.Request.Url.Host; // nspClientConfig.ProviderWebPort = ServerContext.ServerConfig.WebAPIPort; // nspClientConfig.ConfigPort = ServerContext.ServerConfig.ConfigPort; // nspClientConfig.ReversePort = ServerContext.ServerConfig.ReversePort; } catch (Exception e) { throw new Exception("配置格式不正确。"); } Dbop.SetConfig(userName, nspClientConfig.ToJsonString()); } //重置客户端(给客户端发送重定向请求让客户端主动重启) var userid = Dbop.Get(userName)?.ToObject <User>().userId; //var popClientAsync = await ServerContext.Clients[userid].AppMap.First().Value.PopClientAsync(); ServerContext.CloseAllSourceByClient(int.Parse(userid)); //ServerContext.CloseAllSourceByClient(); //return new NSPClientConfig(); }
public Router SetConfiguration(NSPClientConfig config)//start之前一定要执行该方法,否则出错 { ClientConfig = config; ClientDispatcher = new NSPDispatcher($"{ClientConfig.ProviderAddress}:{ClientConfig.ProviderWebPort}"); return(this); }
public Router SetConfiguration(NSPClientConfig config) { ClientConfig = config; return(this); }