研究了一晚上,终于找到原因了,这坑挖的真是害人不浅

不能收到回复的原因为两点:

1. 盛派官方的sdk例子根本是错误的,post请求也必须传参而不是使用盛派的model

2.返回结果要用Content,不要用盛派官方的WeixinResult或FixWeixinBugWeixinResult

下面说说两个重要的api

验证请求Get不多说了,比较简单,验证成功原样返回字符串,不成功返回空字符串

被动回复接口,盛派官方sample给的是这样的

我告诉你,这就是个坑,因为微信不会给你这么发post请求的,你如果这么写了你永远都收不到任何信息

正确写法是:

还有一个坑就是返回结果类型,只有第一个能用

最后贴下我的源代码

    [Route("api/[controller]")][ApiController]public class WxMsgController : ControllerBase{static WxAppConfig wxCfg => WxAppConfig.Instance;[HttpGet]public ActionResult Get(string signature, string timestamp, string nonce, string echostr){// 验证成功返回echostr,否则返回空字符串return Content(!CheckSignature.Check(signature, timestamp, nonce, wxCfg.Token) ? "" : echostr);}[HttpPost]public ActionResult Post(string signature, string timestamp, string nonce, string msg_signature){var postModel = new PostModel{Signature = signature,Timestamp = timestamp,Nonce = nonce,Msg_Signature = msg_signature,};if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, wxCfg.Token)){return Content("参数错误!");}postModel.SetSecretInfo(wxCfg.Token, wxCfg.EncodingAESKey, wxCfg.AppId);var messageHandler = new CustomMessageHandler(Request.GetRequestMemoryStream(), postModel);// 接收消息messageHandler.Execute();// 执行微信处理过程return Content(messageHandler.ResponseDocument.ToString());}}

处理流程:

    public class CustomMessageHandler : MessageHandler<MessageContext<IRequestMessageBase, IResponseMessageBase>>{#region 构造方法public CustomMessageHandler(Stream inputStream, PostModel postModel) : base(inputStream, postModel) { }public CustomMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0) : base(inputStream, postModel, maxRecordCount) { }public CustomMessageHandler(RequestMessageBase requestMessage, PostModel postModel) : base(requestMessage, postModel) { }#endregionpublic override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage){var respMsg = CreateResponseMessage<ResponseMessageText>();respMsg.Content = "欢迎使用阴阳易演计算模型";return respMsg;}public override IResponseMessageBase OnTextRequest(RequestMessageText reqMsq){var respMsg = CreateResponseMessage<ResponseMessageText>();switch (reqMsq.Content.ToUpper()){case "ID":respMsg.Content = "您的OpenID是:" + respMsg.FromUserName;break;case "天气":respMsg.Content = "抱歉,还未开通此功能!";break;}return respMsg;}}

最终效果:

欢迎关注我的公众号: 道易龙腾,这是一个易经三才计算的公众服务号,用于术数学计算和起卦排盘工具

使用盛派微信SDK(Senparc.Weixin.MP)设计公众号被动回复API不返回信息问题相关推荐

  1. ASP.NET CORE下用盛派微信SDK取微信openid

    用CORE做项目用到微信的相关东西,听说那个盛派微信SDK很火,自己弄了下,只是简单的用用,用户访问页面取微信openid

  2. php公众号被动回复,微信公众号被动消息回复原理解析

    背景:某分厂需要实时查询工件堆放的位置,要求快速便捷,因此设计了采用微信公众号被动回复信息的方案. 技术实现:开发者服务器--基于Angular2框架的已发布网站,编程语言为Python,后台存储数据 ...

  3. 微信公众平台SDK! Senparc.Weixin.MP.dll(资料整理)

    官网地址: http://weixin.senparc.com/ 使用 Senparc.Weixin.MP.dll 整合网站与微信公众账号的自动交流回复. 更多使用说明见:Senparc.Weixin ...

  4. 基于SENPARC盛派微信sdk的.net WebService微信公众号的相关开发(包含从零开始本机测试环境搭建//token验证//获取微信推送消息//向微信推送消息)

    前言: 由于微信公众号正式号,一直在被使用,所以在研发的时候,本机测试环境,就显得非常重要. 而且在自己闲暇之余,可以自己尝试更深程度的微信公众号的研发工作. 1.首先,必要的网站 http://sd ...

  5. 微信公众号精选文章API支持返回全文

    微信主页接口 请求方法 HTTP/HTTPS GET 数据来源 微信公众平台 接口地址 http://api.tianapi.com/weixin/home/?key=APIKEY&src=主 ...

  6. 微信公众号被动回复方案梳理

    微信公众号机器人客服回复方案预梳理 一.微信公众平台开发接入指南 接入微信公众平台开发,需要按照如下步骤完成: 1.填写服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点 ...

  7. 关于微信公众号被动回复带有表情的文字

    表情的消息类型实质是文本消息.每个表情都有与之对应的表情代码.

  8. 微信公众号开发-公众号被动回复用户消息

    专栏简介

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试...

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

最新文章

  1. 【PC工具】nodemcu ESP8266常用USB转串口芯片驱动CP210x、CH340G驱动安装有可能遇到的问题及解决办法...
  2. java session持久化_Session的生命周期和持久化
  3. Spring4 事务管理
  4. Windows 下mysqldump备份1045错误解决办法
  5. java中正则表达式截取字符串
  6. Python: str.split()和re.split()的区别
  7. 一些不错的理论[转载]
  8. Java递归算法求n的阶乘
  9. java用户行为日志记录方法_简单易用的开源用户操作日志记录系统
  10. 通过扫码下载安卓和ios安装包
  11. 基于微信小程序的免费小说阅读平台小程序的设计与实现 毕业设计 毕设源码(1)小程序功能
  12. IDEA的下载及安装
  13. strcasecmp函数用法
  14. 运维工程师模拟面试题
  15. 纯原生 js 简易 实现 鼠标拖尾效果
  16. AdminLTE3 Table插件
  17. java 判断文件类型是否是音频_用java流方式判断文件类型
  18. 关于ue4播放(play)后画质不清晰的问题
  19. 萤火虫算法以及避障算法path planning in uncertain environment by using firefly algorithm(萤火虫算法在实际中的应用)
  20. Elliptic curve Diffie–Hellman

热门文章

  1. NORD SK 132 M/4 BRE100 FHL
  2. Rumor CodeForces - 893C(并查集基本操作:维护连通块最值)
  3. 女程序员工作十年感悟
  4. 神灯系统2020—10.25
  5. CClass.forName 反射创建对象的疑问
  6. html图片圆点切换,JQuery和html+css实现带小圆点和左右按钮的轮播图
  7. 网游,陈一舟的左勾拳
  8. python科学计算2 数据组织形式与numpy入门
  9. 如何使用PHP开发爬虫功能去爬取网页资讯
  10. 财务软件、进销存软件、ERP中会计凭证录入模块DIY全攻略