概述
由于微信公众平台的特殊机制,所有的信息都由微信服务器转发而来,因此服务器是无法使用Session对用户会话的上下文进行管理的。
为此Senparc.WeiXin.MP SDK增加了上下文的模块,并集成到了MessageHandler中。
WeixinContext
WeixinContext是所有单个用户上下文(MessageContext)实体的容器(暂且称为全局上下文)。WeixinContext本身不是静态类,意味着您可以在同一个应用中创建多个上下文实体。
同时,一个静态的WeixinContext实例被放入到MessageHandler
因此我们在任何一个实现了MessageHandler
WeixinContext用于保存所用户的上下文(MessageContext),并且提供了一系列的方法,主要方法包括:
/// 上面的CustomMessageContext_MessageContextRemoved()方法会在某个用户的上下文被清除的时候触发,其中可以加入自己需要的代码。除此以外,您也可以重写积累中的OnRemoved()等方法,或者添加其他的属性及方法。 更多微信公众平台开发:解决用户上下文(Session)问题相关文章请关注PHP中文网!
/// 重置所有上下文参数,所有记录将被清空
///
public void Restore()
{
...
}
///
/// 获取MessageContext,如果不存在,返回null
/// 这个方法的更重要意义在于操作TM队列,及时移除过期信息,并将最新活动的对象移到尾部
///
///
void CustomMessageContext_MessageContextRemoved(object sender, Senparc.Weixin.Context.WeixinContextRemovedEventArgs