当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次关于重试的消息排重,推荐使用msgid排重。假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。

解决方案 »

  1.   

    把用户信息和createtime做成唯一索引
      

  2.   

    MsgId试过,无效,貌似不是因为服务器无响应而引起的重新发起请求(用的SAE,且数据处理挺少,应该也不会超过5s),微信开发平台的问答系统里也有人反馈过5s内重复post内容,我现在用了FromUserName和CreateTime,但官方文档是推荐事件消息排重用这个,不知道是否适用于普通消息
      

  3.   

    我写了一个 微微信.NET:开源的ASP.NET微信公众号应用平台   
    大家可以分享代码 互相交流 
    CSDN博客:http://blog.csdn.net/weixin_net
    http://blog.csdn.net/weixin_net/article/details/23964829