public ResponseBase StopMine([FromBody] SignatureRequest request) { if (request == null) { return(ResponseBase.InvalidInput("参数错误")); } try { ResponseBase response; if (!IsNTMinerOpened()) { return(ResponseBase.Ok()); } try { using (HttpClient client = new HttpClient()) { Task <HttpResponseMessage> message = client.PostAsJsonAsync($"http://localhost:{Consts.MinerClientPort}/api/MinerClient/StopMine", request); response = message.Result.Content.ReadAsAsync <ResponseBase>().Result; return(response); } } catch (Exception e) { Logger.ErrorDebugLine(e); } return(ResponseBase.Ok()); } catch (Exception e) { Logger.ErrorDebugLine(e); return(ResponseBase.ServerError(e.Message)); } }
public ResponseBase StopMine(string clientIp, SignatureRequest request) { using (HttpClient client = new HttpClient()) { Task <HttpResponseMessage> message = client.PostAsJsonAsync($"http://{clientIp}:{WebApiConst.MinerClientPort}/api/{s_controllerName}/{nameof(IMinerClientController.StopMine)}", request); ResponseBase response = message.Result.Content.ReadAsAsync <ResponseBase>().Result; return(response); } }
public ResponseBase ShutdownWindows(string clientIp, SignatureRequest request) { using (HttpClient client = new HttpClient()) { Task <HttpResponseMessage> message = client.PostAsJsonAsync($"http://{clientIp}:{Consts.NTMinerDaemonPort}/api/{s_controllerName}/{nameof(INTMinerDaemonController.ShutdownWindows)}", request); ResponseBase response = message.Result.Content.ReadAsAsync <ResponseBase>().Result; return(response); } }
public void LoginAsync(string loginName, string password, Action <ResponseBase, Exception> callback) { SignatureRequest request = new SignatureRequest() { LoginName = loginName }; request.SignIt(password); PostAsync(SControllerName, nameof(IControlCenterController.LoginControlCenter), null, request, callback); }
public void StopMineAsync(string clientIp, SignatureRequest request, Action <ResponseBase, Exception> callback) { Task.Factory.StartNew(() => { try { ResponseBase response = StopMine(clientIp, request); callback?.Invoke(response, null); } catch (Exception e) { callback?.Invoke(null, e); } }); }
// TODO:异步化 /// <summary> /// 同步方法 /// </summary> /// <returns></returns> public DataResponse <List <WalletData> > GetWallets() { try { SignatureRequest request = new SignatureRequest { LoginName = SingleUser.LoginName }; request.SignIt(SingleUser.PasswordSha1); DataResponse <List <WalletData> > response = Post <DataResponse <List <WalletData> > >(SControllerName, nameof(IControlCenterController.Wallets), null, request, timeout: 2000); return(response); } catch (Exception e) { Logger.ErrorDebugLine(e); return(null); } }
public ResponseBase CloseMinerStudio([FromBody] SignatureRequest request) { if (request == null) { return(ResponseBase.InvalidInput("参数错误")); } try { VirtualRoot.Execute(new CloseNTMinerCommand()); return(ResponseBase.Ok()); } catch (Exception e) { Logger.ErrorDebugLine(e.Message, e); return(ResponseBase.ServerError(e.Message)); } }
public ResponseBase StopMine([FromBody] SignatureRequest request) { if (request == null) { return(ResponseBase.InvalidInput("参数错误")); } try { NTMinerRoot.Instance.StopMineAsync(); return(ResponseBase.Ok()); } catch (Exception e) { Logger.ErrorDebugLine(e.Message, e); return(ResponseBase.ServerError(e.Message)); } }
public ResponseBase ShutdownWindows([FromBody] SignatureRequest request) { if (request == null) { return(ResponseBase.InvalidInput("参数错误")); } try { TimeSpan.FromMilliseconds(100).Delay().ContinueWith(t => { Windows.Power.Shutdown(); }); return(ResponseBase.Ok()); } catch (Exception e) { Logger.ErrorDebugLine(e); return(ResponseBase.ServerError(e.Message)); } }
public ResponseBase CloseMinerStudio([FromBody] SignatureRequest request) { if (request == null) { return(ResponseBase.InvalidInput("参数错误")); } try { TimeSpan.FromMilliseconds(100).Delay().ContinueWith(t => { VirtualRoot.Execute(new CloseNTMinerCommand()); }); return(ResponseBase.Ok()); } catch (Exception e) { Logger.ErrorDebugLine(e); return(ResponseBase.ServerError(e.Message)); } }
public void ShutdownWindowsAsync(IClientData client, Action <ResponseBase, Exception> callback) { SignatureRequest innerRequest = new SignatureRequest { LoginName = SingleUser.LoginName }; innerRequest.SignIt(SingleUser.GetRemotePassword(client.ClientId)); WrapperRequest <SignatureRequest> request = new WrapperRequest <SignatureRequest> { ObjectId = client.GetId(), ClientId = client.ClientId, LoginName = SingleUser.LoginName, InnerRequest = innerRequest, ClientIp = client.MinerIp }; request.SignIt(SingleUser.PasswordSha1); PostAsync(SControllerName, nameof(IWrapperMinerClientController.ShutdownWindows), null, request, callback); }
// TODO:异步化 /// <summary> /// 同步方法 /// </summary> /// <returns></returns> public List <ColumnsShowData> GetColumnsShows() { try { SignatureRequest request = new SignatureRequest { LoginName = SingleUser.LoginName }; request.SignIt(SingleUser.PasswordSha1); DataResponse <List <ColumnsShowData> > response = Post <DataResponse <List <ColumnsShowData> > >(SControllerName, nameof(IControlCenterController.ColumnsShows), null, request, timeout: 2000); if (response != null && response.Data != null) { return(response.Data); } return(new List <ColumnsShowData>()); } catch (Exception e) { Logger.ErrorDebugLine(e); return(new List <ColumnsShowData>()); } }
/// <summary> /// 同步方法 /// </summary> /// <returns></returns> public List <PoolData> GetPools() { try { SignatureRequest request = new SignatureRequest { LoginName = SingleUser.LoginName }; request.SignIt(SingleUser.PasswordSha1); DataResponse <List <PoolData> > response = Post <DataResponse <List <PoolData> > >(SControllerName, nameof(IControlCenterController.Pools), request); if (response != null && response.Data != null) { return(response.Data); } return(new List <PoolData>()); } catch (Exception e) { e = e.GetInnerException(); Logger.ErrorDebugLine(e.Message, e); return(new List <PoolData>()); } }