messageHandler.OmitRepeatedMessage = true;//启用消息去重功能
/// <summary>
/// 最简化的处理流程(不加密)
/// </summary>
[HttpPost]
[ActionName("MiniPost")]
public ActionResult MiniPost(string signature, string timestamp, string nonce, string echostr)
{
if (!CheckSignature.Check(signature, timestamp, nonce, Token))
{
return new WeixinResult("参数错误!");//v0.8+
}
var messageHandler = new CustomMessageHandler(Request.InputStream, null, 10);
messageHandler.OmitRepeatedMessage = true;//启用消息去重功能
messageHandler.Execute();//执行微信处理过程
return new FixWeixinBugWeixinResult(messageHandler);
}
public virtual void OnExecuting()
{
if (OmitRepeatedMessage && CurrentMessageContext.RequestMessages.Count > 1)
{
var lastMessage = CurrentMessageContext.RequestMessages[CurrentMessageContext.RequestMessages.Count - 2];
if (lastMessage.MsgId != 0 && lastMessage.MsgId == RequestMessage.MsgId)
{
CancelExcute = true;//重复消息,取消执行
}
}
}