Exemple #1
0
        public void GetJsonFileVersionAsync(string key, Action <ServerStateResponse> callback)
        {
            AppSettingRequest request = new AppSettingRequest {
                Key = key
            };

            JsonRpcRoot.PostAsync(RpcRoot.OfficialServerHost, RpcRoot.OfficialServerPort, _controllerName, nameof(IAppSettingController.GetJsonFileVersion), request, (string line, Exception e) => {
                callback?.Invoke(ServerStateResponse.FromLine(line));
            }, timeountMilliseconds: 10 * 1000);
        }
Exemple #2
0
 public DataResponse <AppSettingData> AppSetting([FromBody] AppSettingRequest request)
 {
     try {
         if (!VirtualRoot.LocalAppSettingSet.TryGetAppSetting(request.Key, out IAppSetting data))
         {
             data = null;
         }
         return(DataResponse <AppSettingData> .Ok(AppSettingData.Create(data)));
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(ResponseBase.ServerError <DataResponse <AppSettingData> >(e.Message));
     }
 }
Exemple #3
0
        public void GetJsonFileVersionAsync(string key, Action <ServerState> callback)
        {
            AppSettingRequest request = new AppSettingRequest {
                Key = key
            };

            RpcRoot.PostAsync(_host, _port, "AppSetting", nameof(IAppSettingController.GetJsonFileVersion), request, (string text, Exception e) => {
                string jsonFileVersion    = string.Empty;
                string minerClientVersion = string.Empty;
                ulong time                         = Timestamp.GetTimestamp();
                ulong messageTimestamp             = 0;
                ulong kernelOutputKeywordTimestamp = 0;
                if (!string.IsNullOrEmpty(text))
                {
                    text           = text.Trim();
                    string[] parts = text.Split(new char[] { '|' });
                    if (parts.Length > 0)
                    {
                        jsonFileVersion = parts[0];
                    }
                    if (parts.Length > 1)
                    {
                        minerClientVersion = parts[1];
                    }
                    if (parts.Length > 2)
                    {
                        ulong.TryParse(parts[2], out time);
                    }
                    if (parts.Length > 3)
                    {
                        ulong.TryParse(parts[3], out messageTimestamp);
                    }
                    if (parts.Length > 4)
                    {
                        ulong.TryParse(parts[4], out kernelOutputKeywordTimestamp);
                    }
                }
                callback?.Invoke(new ServerState {
                    JsonFileVersion    = jsonFileVersion,
                    MinerClientVersion = minerClientVersion,
                    Time                   = time,
                    MessageTimestamp       = messageTimestamp,
                    OutputKeywordTimestamp = kernelOutputKeywordTimestamp
                });
            }, timeountMilliseconds: 10 * 1000);
        }
        public static void GetJsonFileVersionAsync(string key, Action <string> callback)
        {
            AppSettingRequest request = new AppSettingRequest {
                MessageId = Guid.NewGuid(),
                Key       = key
            };

            PostAsync("AppSetting", nameof(IAppSettingController.AppSetting), request, (DataResponse <AppSettingData> response, Exception e) => {
                string jsonFileVersion = string.Empty;
                if (response != null && response.Data != null && response.Data.Value != null)
                {
                    jsonFileVersion = response.Data.Value.ToString();
                }
                callback?.Invoke(jsonFileVersion);
                if (e != null)
                {
                    Logger.ErrorDebugLine($"GetJsonFileVersionAsync({AssemblyInfo.ServerJsonFileName})失败 {e?.Message}");
                }
            });
        }
Exemple #5
0
        public string GetJsonFileVersion(AppSettingRequest request)
        {
            string jsonVersion        = string.Empty;
            string minerClientVersion = string.Empty;

            try {
                var fileData = HostRoot.Instance.NTMinerFileSet.LatestMinerClientFile;
                minerClientVersion = fileData != null ? fileData.Version : string.Empty;
                if (!HostRoot.Instance.AppSettingSet.TryGetAppSetting(request.Key, out IAppSetting data) || data.Value == null)
                {
                    jsonVersion = string.Empty;
                }
                else
                {
                    jsonVersion = data.Value.ToString();
                }
            }
            catch (Exception e) {
                Logger.ErrorDebugLine(e);
            }
            return($"{jsonVersion}|{minerClientVersion}");
        }
Exemple #6
0
        public static void GetJsonFileVersionAsync(string key, Action <string, string> callback)
        {
            AppSettingRequest request = new AppSettingRequest {
                Key = key
            };

            PostAsync("AppSetting", nameof(IAppSettingController.GetJsonFileVersion), request, (string text, Exception e) => {
                string jsonFileVersion    = string.Empty;
                string minerClientVersion = string.Empty;
                if (!string.IsNullOrEmpty(text))
                {
                    string[] parts = text.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    if (parts.Length > 0)
                    {
                        jsonFileVersion = parts[0];
                    }
                    if (parts.Length > 1)
                    {
                        minerClientVersion = parts[1];
                    }
                }
                callback?.Invoke(jsonFileVersion, minerClientVersion);
            }, timeountMilliseconds: 10 * 1000);
        }
Exemple #7
0
        public string GetJsonFileVersion(AppSettingRequest request)
        {
            ServerState serverState = HostRoot.GetServerState(request.Key);

            return($"{serverState.JsonFileVersion}|{serverState.MinerClientVersion}|{serverState.Time.ToString()}|{serverState.MessageTimestamp.ToString()}|{serverState.OutputKeywordTimestamp.ToString()}");
        }
        public string GetJsonFileVersion([FromBody] AppSettingRequest request)
        {
            ServerStateResponse serverState = WebApiRoot.GetServerStateResponse(request.Key);

            return(serverState.ToLine());
        }