0

MessageHandler问题

微信开发 · dengguolun · 查看 264 次 · 于 53天前

MessageHandler

 public CustomMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0, bool onlyAllowEcryptMessage = false)
           : base(inputStream, postModel, maxRecordCount, onlyAllowEcryptMessage)
执行了base后程序就不往下执行了也不报任何异常请问 这是怎么回事?
您尚未登陆,请:网站登录 or 微信登陆
共收到 7 条回复
0

chengyb 42天前

//获取OAuth授权结果
               QueryAuthResult queryAuthResult;
               try
               {
                   queryAuthResult = ComponentContainer.GetQueryAuthResult(component_AppId, auth_code);
               }
               catch (Exception ex)
               {
                   throw new Exception("QueryAuthResult:" + ex.Message);
               }
               #endregion

这个也是有问题的,直接用api来就没事

0

qq29366365 42天前

使用的代码是完全copy来自 demo-微信小程序,引用的其他类库版本号
Senparc.CO2NET.APM.dll----------------------------------------------------------0.6.102.0
Senparc.CO2NET.Cache.Memcached.dll----------------------------------------------3.4.102.1
Senparc.CO2NET.Cache.Redis.dll--------------------------------------------------3.6.102.0
Senparc.CO2NET.Cache.Redis.RedLock.dll------------------------------------------2.2.4.0
Senparc.CO2NET.dll--------------------------------------------------------------1.0.102.0
Senparc.NeuChar.App.dll---------------------------------------------------------0.6.102.0
Senparc.NeuChar.dll-------------------------------------------------------------1.0.102.0
Senparc.WebSocket.dll-----------------------------------------------------------0.9.0.15187
Senparc.Weixin.Cache.Memcached.dll----------------------------------------------2.5.0.34741
Senparc.Weixin.Cache.Redis.dll--------------------------------------------------2.7.102.0
Senparc.Weixin.Cache.Redis.RedLock.dll------------------------------------------1.0.1.0
Senparc.Weixin.dll--------------------------------------------------------------6.6.102.0
Senparc.Weixin.MP.dll-----------------------------------------------------------16.9.102.0
Senparc.Weixin.MP.MvcExtension.dll----------------------------------------------7.4.0.34742
Senparc.Weixin.Open.dll---------------------------------------------------------4.7.0.34741
Senparc.Weixin.TenPay.dll-------------------------------------------------------1.5.0.34741
Senparc.Weixin.Work.dll---------------------------------------------------------3.7.0.34741
Senparc.Weixin.WxOpen.dll-------------------------------------------------------3.7.102.0

0

Senparc 42天前 编辑于 2019年10月26日 16:02

是否能把你能重现问题的最小化的代码发一个过来(可以跑起来的项目),我可以实景测试一下:zsu@senparc.com

0

chengyb 42天前

//消息去重
           if (MessageContextGlobalConfig.UseMessageContext)
           {
               var omit = OmitRepeatedMessageFunc == null || OmitRepeatedMessageFunc(RequestMessage);

               //使用分布式锁,已支持分布式上下文缓存
               var lockKey = this.GetInsertMessageKey();
               var cache = CacheStrategyFactory.GetObjectCacheStrategyInstance();
               using (cache.BeginCacheLock(MessageContextGlobalConfig.MESSAGE_INSERT_LOCK_NAME, lockKey))
               {
                   #region 消息去重

                   var messageContext = GetCurrentMessageContext().ConfigureAwait(false).GetAwaiter().GetResult();
                   if (omit &&
                       OmitRepeatedMessage &&
                       messageContext.RequestMessages.Count > 0
                        //&& !(RequestMessage is RequestMessageEvent_Merchant_Order)批量订单的MsgId可能会相同
                        )
                   {
                       //lastMessage必定有值(除非极端小的过期时间条件下,几乎不可能发生)
                       var lastMessage = messageContext.RequestMessages.Last();

                       if (
                           //使用MsgId去重
                           (lastMessage.MsgId != 0 && lastMessage.MsgId == RequestMessage.MsgId) ||
                           //使用CreateTime去重(OpenId对象已经是同一个)
                           (lastMessage.MsgId == RequestMessage.MsgId &&
                                lastMessage.CreateTime == RequestMessage.CreateTime &&
                                lastMessage.MsgType == RequestMessage.MsgType)
                           )
                       {
                           MarkRepeatedMessage();//标记为已重复
                       }

                       //判断特殊事件
                       if (!MessageIsRepeated && SpecialDeduplicationAction != null && SpecialDeduplicationAction(RequestMessage, this))
                       {
                           MarkRepeatedMessage();//标记为已重复
                       }
                   }

                   #endregion

                   //在消息没有被去重的情况下记录上下文
                   if (!MessageIsRepeated && RequestMessage.MsgType != RequestMsgType.Unknown)
                   {
                       //这里不能用队列,因为需要确保解锁之前缓存已经录入信息
                       GlobalMessageContext.InsertMessage(RequestMessage);
                   }
               }
           }

0

chengyb 42天前

确实有这样的问题

应是缓存那里有问题,还没仔细查

MessageContextGlobalConfig.UseMessageContext = false 可以跳过,但回复消息处还是有问题

0

qq29366365 44天前

.net 4.5更新到最新版的也有这样的问题 没有任何异常信息

0

Senparc 51天前

这是算线程卡死了吗?

有没有能够重现问题的最简化的代码可以发到 zsu@senparc.com 帮您看一下。


热门话题 更多 >>

当前扩展缓存策略没有进行注册

gis008 29 个回复 • 查看 732 次 • 156天前

cpu满载

blezt 23 个回复 • 查看 720 次 • 39天前

GetWxaCodeUnlimit 生成1KB文件

a124754649 22 个回复 • 查看 1332 次 • 62天前

SessionId无效

gdlcf88 11 个回复 • 查看 640 次 • 95天前

关注和取消关注报错的

blqw 9 个回复 • 查看 410 次 • 74天前

程序故CPU占满100%,怀疑是SDK造成的。

fengshi_1988 9 个回复 • 查看 272 次 • 39天前

core 3.0对接微信公众号后消息响应报错。

jianweie 7 个回复 • 查看 376 次 • 61天前

MessageHandler问题

dengguolun 7 个回复 • 查看 264 次 • 42天前

通过扫描临时二维码关注公众号

诀别十年 7 个回复 • 查看 233 次 • 145天前

Messagehandler问题

Jenny_Wu 7 个回复 • 查看 446 次 • 160天前

core环境下退款方法tenpayv3.refund方法失败

ericsy 6 个回复 • 查看 478 次 • 142天前

是否有拦截器

qq1170971516 6 个回复 • 查看 252 次 • 73天前

Value cannot be null. Parameter name: services

abcd631664138 6 个回复 • 查看 372 次 • 22天前

QQ群
  • 1群:300313885 (2000人群 已满)
  • 2群:293958349 (1000人群 已满)
  • 3群:342319110 (2000人群 已满)
  • 4群:372212092 (500人群 已满)
  • 5群:377815480 (1000人群 已满)
  • 6群:425898825 (1000人群 已满)
  • 7群:482942254 (500人群 已满)
  • 8群:106230270 (500人群 已满)
  • 9群:539061281 (500人群 已满)
  • 10群(分布式缓存):246860933 Senparc.Weixin.Cache SDK 10群
  • 11群:553198593 (500人群 已满)
  • 12群(微信小程序):108830388 Senparc微信小程序 12群
  • 13群(开放平台):183424136 (500人群 已满)
  • 14群(视频学员):588231256 Senparc.Weixin SDK 14群
  • 15群(公众号/综合):289181996 Senparc.Weixin SDK 15群
  • 16群(开放平台):860626938 (500人群 已满)
  • 17群(开放平台):770615466 [17群 开放平台]SenparcSDK
  • NeuChar 技术交流群:618605800 NeuChar 开发交流群
  • SCF 技术交流群:147054579 SCF 开发交流群
微信开发宝典:《微信开发深度解析》

由 Senparc.Weixin SDK 作者耗时两年完成的微信开发图书《微信开发深度解析:公众号、小程序高效开发秘籍》已经出版!

历经2年精心雕琢,难得的“理论 + 实战案例 + 趟坑经验”总结,
从需求分析、策划,到账号申请、验证,再到全面的 API 及开发工具,
覆盖所有开发微信公众号(含订阅号、服务号和小程序)所需关键技能!

视频教程:《微信公众号+小程序快速开发》

由盛派课堂(盛派旗下独立教育品牌)制作,《微信开发深度解析》作者苏震巍先生主讲的《微信公众号+小程序快速开发》视频课程开课啦!

课程采用“理论+实战”的教学形式,结合部分《微信开发深度解析》内容,独立于书本,包含了更多的操作演示和案例展示,帮助大家从多个维度学习微信开发以及.NET开发过程中的诸多技巧。
课程包含两大部分:
1. 微信开发基础技能
2. 公众号及小程序案例实战
共计60课时,配有番外篇,目前视频已在网易云课堂上线。