public object cache() { var queryStrings = WebUtil.UrlDecode(Request.RequestUri.Query.TrimStart('?'), Encoding.UTF8); LogUtil.Info(string.Format("请求参数:{0}", queryStrings)); var requestForms = HttpRequestUtil.GetNameValueCollection(queryStrings); var key = requestForms["key"] as string; var ret = SingleInstance <SystemBLL> .Instance.GetCache(key); return(OK(ret)); }
/// <summary> /// 获取请求参数列表 /// </summary> /// <param name="sortDics">参数字典</param> /// <param name="queryStrings">请求参数串</param> /// <param name="actionDesc">接口描述</param> /// <returns></returns> protected NameValueCollection GetRequestParams(out SortedDictionary <string, object> sortDics, out string queryStrings, bool isDecode = true, string actionDesc = "") { queryStrings = GetQueryStrings(); LogUtil.Info(string.Format("{0}{1}请求参数:{2}", actionDesc, (!string.IsNullOrWhiteSpace(actionDesc) ? "," : string.Empty), queryStrings)); sortDics = new SortedDictionary <string, object>(); var requestForms = HttpRequestUtil.GetNameValueCollection(queryStrings, out sortDics, isDecode); if (requestForms.Keys.Count <= 0) { var msg = string.Format("{0}缺少参数!", actionDesc); LogUtil.Warn(msg); } return(requestForms); }
public object ReceiveMessage() { var queryStrings = WebUtil.UrlDecode(Request.RequestUri.Query.ToString().TrimStart('?'), Encoding.UTF8); LogUtil.Debug(string.Format("原始消息:{0}", queryStrings)); // 判断是否是请求认证 var requestForm = HttpRequestUtil.GetNameValueCollection(queryStrings); var echostr = requestForm["echostr"] as string; var retstr = echostr != null?Extensions.ToString(echostr).Trim() : string.Empty; if (SingleInstance <WeChatBLL> .Instance.CheckSignature(ConfigUtil.WechatToken, requestForm)) { if (!String.IsNullOrEmpty(retstr)) { LogUtil.Debug(string.Format("自动回调:{0}", retstr)); } else { var stream = HttpContext.Current.Request.InputStream; retstr = SingleInstance <WeChatBLL> .Instance.HandleXmlCallBackStr(stream, Request.RequestUri.Authority); LogUtil.Debug(string.Format("自动回调:{0}", retstr)); if (retstr == EnumWeChatEventType.unsubscribe.ToString()) { retstr = string.Empty; //取消关注特殊处理:清除当前会话Session var isClearOk = base.ClearCurrSession(); LogUtil.Debug(string.Format("取消关注,清空会话{0}!", isClearOk ? "成功" : "失败")); } } } var responseMessage = new HttpResponseMessage { Content = new StringContent(retstr, Encoding.GetEncoding("UTF-8"), "text/plain") }; return(responseMessage); }