public void ValidRequestConstructorTest() { // Arrange - Act var target = new ValidRequest(); // Assert Assert.IsNotNull(target); }
public async Task <string> ExecuteAsync() { var result = ""; if (!string.IsNullOrEmpty(HttpRequest.QueryString["echostr"])) { WeiXinRequest = new ValidRequest(this); } else { try { _logger.LogInformation("后台接收到数据流:{0}", XDoc.ToString()); Type type = RequestTypes.Find(T => T.Name.Equals(string.Format("{0}Request", XDoc.Root.Element("MsgType").Value), StringComparison.CurrentCultureIgnoreCase)); if (type != null) { WeiXinRequest = (WeiXinRequest)Activator.CreateInstance(type, new object[1] { this }); } else { } } catch (Exception ex) { _logger.LogInformation("命令执行出错:{0}", ex.StackTrace); } } ICommand command = Commands.Find(C => C.CanExecute); if (command != null) { try { WeiXinResponse = await command.ExecuteAsync(); result = WeiXinResponse.ToString(); } catch (Exception ex) { _logger.LogInformation("命令执行出错:{0}", ex.StackTrace); } } return(result); }
public async override Task <WeiXinResponse> ExecuteAsync() { ValidResponse response = new ValidResponse(WeiXin); await Task.Run(() => { ValidRequest request = new ValidRequest(WeiXin); List <string> list = new List <string>() { _weixinSettings.ValidToken, request.Timestamp, request.Nonce }; list.Sort(); string validCode = string.Join("", list.ToArray()).SHA1Encrypt(); if (validCode == request.Signature) { response.EchoStr = request.EchoStr; } }); return(response); }
public ValidHandler(ISession client, Dictionary <string, string> recv) : base(client, recv) { _request = new ValidRequest(recv); }