/// <summary> /// 发送微信消息 /// </summary> /// <returns></returns> private static bool SendWeiXinMsg(WeiXinSendMessage message, string AccessToken) { if (string.IsNullOrEmpty(AccessToken)) { return(false); } //发送请求的url var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", AccessToken); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; var requestbody = JsonConvert.SerializeObject(message); byte[] byteArray = Encoding.UTF8.GetBytes(requestbody); request.ContentLength = byteArray.Length; Stream newStream = request.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length); newStream.Close(); //发请求 var response = (HttpWebResponse)request.GetResponse(); StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8); var result = sr.ReadToEnd(); var status = JObject.Parse(result).ToObject <WeiXinStatus>(); return(status.ErrMsg == "ok" ? true : false); }
/// <summary> /// 发消息 /// </summary> /// <param name="task"></param> public static void SendTaskNotifyStatic(TaskRequest task) { var message = new WeiXinSendMessage(); message.msgtype = "text"; message.safe = task.IsSafe ? "1" : "0"; if (!string.IsNullOrWhiteSpace(task.ListUsers)) { message.touser = task.ListUsers; } if (!string.IsNullOrWhiteSpace(task.ListPartys)) { message.toparty = task.ListPartys; } if (string.IsNullOrWhiteSpace(task.ListUsers) && string.IsNullOrWhiteSpace(task.ListPartys)) { message.toparty = "5"; } message.agentid = 0; message.text = new Text() { content = task.Content, }; var CacheTokken = GetCaCheTokken(); var sendresult = SendWeiXinMsg(message, CacheTokken); //如果失败,尝试重置token,再试一次 if (!sendresult) { if (HttpRuntime.Cache["WeiXinTokken"] != null) { HttpRuntime.Cache.Remove("WeiXinTokken"); } CacheTokken = GetCaCheTokken(); sendresult = SendWeiXinMsg(message, CacheTokken); } }