/// <summary>
        /// 当上下文过期,被移除时触发的时间
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CustomMessageContext_MessageContextRemoved(object sender, Senparc.Weixin.Context.WeixinContextRemovedEventArgs <IRequestMessageBase, IResponseMessageBase> e)
        {
            //这里的过期消息会在过期后下一条请求执行之前被清除
            var messageContext = e.MessageContext as CustomMessageContext;

            if (messageContext == null)//如果是正常的调用,messageContext不会为null
            {
                //TODO:这里根据需要执行消息过期时候的逻辑,下面的代码仅供参考
                //Log.InfoFormat("{0}的消息上下文已过期",e.OpenId);
                //api.SendMessage(e.OpenId, "由于长时间未搭理客服,您的客服状态已退出!");
                return;
            }
        }
示例#2
0
        /// <summary>
        /// 当上下文过期,被移除时触发的时间
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CustomMessageContext_MessageContextRemoved(object sender, Senparc.Weixin.Context.WeixinContextRemovedEventArgs <IRequestMessageBase, IResponseMessageBase> e)
        {
            /* 注意,这个事件不是实时触发的(当然你也可以专门写一个线程监控)
             * 为了提高效率,根据WeixinContext中的算法,这里的过期消息会在过期后下一条请求执行之前被清除
             */

            var messageContext = e.MessageContext as CustomMessageContext;

            if (messageContext == null)
            {
                return;//如果是正常的调用,messageContext不会为null
            }

            //TODO:这里根据需要执行消息过期时候的逻辑,下面的代码仅供参考
        }
示例#3
0
        /// <summary>
        /// 当上下文过期,被移除时触发的时间
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void YchMsgContext_MessageContextRemoved(object sender, Senparc.Weixin.Context.WeixinContextRemovedEventArgs <IRequestMessageBase, IResponseMessageBase> e)
        {
            /* 注意,这个事件不是实时触发的(当然你也可以专门写一个线程监控)
             * 为了提高效率,根据WeixinContext中的算法,这里的过期消息会在过期后下一条请求执行之前被清除
             */
            var messageContext = e.MessageContext as YchMsgContext;

            if (messageContext == null)
            {
                return;//如果是正常的调用,messageContext不会为null
            }
            //TODO:这里根据需要执行消息过期时候的逻辑,下面的代码仅供参考
            //Log.InfoFormat("{0}的消息上下文已过期",e.OpenId);
            //api.SendMessage(e.OpenId, "由于长时间未搭理客服,您的客服状态已退出!");
        }