/// <summary> /// Creates an instance with the default configuration as specified in the /// DSS runtime application settings section of this programs configuration file. /// </summary> public PackageDeployerService() { var security = SecurityManager.CreateDefault(); _configuration = new DssRuntimeConfiguration { SecuritySettings = SecurityManager.Serialize(security) }; }
private void ConductorClt_Load(object sender, EventArgs e) { DssRuntimeConfiguration dssConfig = new DssRuntimeConfiguration(); dssConfig.PublicHttpPort = 0; dssConfig.PublicTcpPort = 0; int port = 40000; do // 从TCP端口40000起查找尚未被占用的端口 { while (IsPortInUse(ProtocolType.Tcp, port)) { port++; } if (dssConfig.PublicHttpPort == 0) { dssConfig.PublicHttpPort = port; port++; } else { dssConfig.PublicTcpPort = port; } } while (dssConfig.PublicHttpPort == 0 || dssConfig.PublicTcpPort == 0); // 调试时在同一节点上启动Server服务和Client服务 string[] strArrManifestFileNames = new string[2] { Application.StartupPath + "\\Sim2DSvr.manifest.xml", Application.StartupPath + "\\Sim2DClt.manifest.xml", }; //DssEnvironment.Initialize(dssConfig, strArrManifestFileNames); // 在50000/50001这组端口上启动一个DSS Node并初始化Server服务实例 string strServerManifestFileName = Application.StartupPath + "\\Sim2DSvr.manifest.xml"; //DssEnvironment.Initialize(dssConfig, strServerManifestFileName); // 在40000/40001这组端口上启动一个DSS Node并初始化Client服务实例 string strClientManifestFileName = Application.StartupPath + "\\Sim2DClt.manifest.xml"; DssEnvironment.Initialize(dssConfig, strClientManifestFileName); // 等待当前Dss Node上的某Dss Service发生Drop事件执行DssEnvironment.Shutdown命令 DssEnvironment.WaitForShutdown(); // 退出客户端启动引导程序界面不再显示 Application.Exit(); }
/// <summary> /// Creates an instance with the specified parameters. /// </summary> public PackageDeployerService(string hostName, int tcpPort, string rootDirectory, bool allowRemote, string securitySettings) { // Validate if (String.IsNullOrWhiteSpace(hostName)) { throw new ArgumentNullException("hostName"); } if (tcpPort <= 0) { throw new ArgumentOutOfRangeException("tcpPort"); } if (String.IsNullOrWhiteSpace(rootDirectory)) { // Use current directory when root not specified rootDirectory = Directory.GetCurrentDirectory(); } else { // Expand, check and create path when specified rootDirectory = Path.GetFullPath(rootDirectory); if (!Directory.Exists(rootDirectory)) { Directory.CreateDirectory(rootDirectory); } } if (String.IsNullOrWhiteSpace(securitySettings)) { throw new ArgumentNullException("securitySettings"); } // Override configuration options with our specific settings ConfigurationManager.AppSettings[MrdsConstants.AllowRemoteAccessAppSettingName] = allowRemote.ToString(); _configuration = new DssRuntimeConfiguration { HostName = hostName, PublicTcpPort = tcpPort, HostRootDir = rootDirectory, SecuritySettings = securitySettings }; }