Senparc.Weixin框架开发-发消息没有回应的处理办法

来源:互联网 发布:程序员联合开发王 编辑:程序博客网 时间:2024/05/16 06:41

在Senparc.Weixin.MP.Sample项目下,Controllers/QY/QYController.cs文件
Post方法改为

        [HttpPost]        [ActionName("Index")]        public ActionResult Post(PostModel postModel)        {            var maxRecordCount = 10;            postModel.Token = Token;            postModel.EncodingAESKey = EncodingAESKey;            postModel.CorpId = CorpId;            //自定义MessageHandler,对微信请求的详细判断操作都在这里面。            var messageHandler = new QyCustomMessageHandler(Request.InputStream, postModel, maxRecordCount);            if (messageHandler.RequestMessage == null)            {                //验证不通过或接受信息有错误            }            try            {                //测试时可开启此记录,帮助跟踪数据,使用前请确保App_Data文件夹存在,且有读写权限。                messageHandler.RequestDocument.Save(Server.MapPath("~/App_Data/Qy/" + DateTime.Now.Ticks + "_Request_" + messageHandler.RequestMessage.FromUserName + ".txt"));                //执行微信处理过程                messageHandler.Execute();                //测试时可开启,帮助跟踪数据                messageHandler.ResponseDocument.Save(Server.MapPath("~/App_Data/Qy/" + DateTime.Now.Ticks + "_Response_" + messageHandler.ResponseMessage.ToUserName + ".txt"));                messageHandler.FinalResponseDocument.Save(Server.MapPath("~/App_Data/Qy/" + DateTime.Now.Ticks + "_FinalResponse_" + messageHandler.ResponseMessage.ToUserName + ".txt"));                //自动返回加密后结果                return new FixWeixinBugWeixinResult(messageHandler);//为了解决官方微信5.0软件换行bug暂时添加的方法,平时用下面一个方法即可            }            catch (Exception ex)            {                using (TextWriter tw = new StreamWriter(Server.MapPath("~/App_Data/Qy_Error_" + DateTime.Now.Ticks + ".txt")))                {                    tw.WriteLine("ExecptionMessage:" + ex.Message);                    tw.WriteLine(ex.Source);                    tw.WriteLine(ex.StackTrace);                    //tw.WriteLine("InnerExecptionMessage:" + ex.InnerException.Message);                    if (messageHandler.FinalResponseDocument != null)                    {                        tw.WriteLine(messageHandler.FinalResponseDocument.ToString());                    }                    tw.Flush();                    tw.Close();                }                return Content("");            }        }

错误消息会记录在App_Data/Qy文件夹下

0 0
原创粉丝点击