C#开发微信门户及应用(2)--微信消息的处理和应答
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下、学习下微信的相关开发,也就成为计划的安排事情之一了。本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。本篇随笔主要基于上一篇《C#开发微信门户及应用(1)--开始使用微信接口》的基础上进行深入的介绍,介绍微信消息的处理和应答的过程。 1、微信的消息应答交互我们知道,微信的服务器架起了客户手机和开发者服务器的一个桥梁,通过消息的传递和响应,实现了与用户的交互操作,下面是它的消息流程图。 微信向开发者服务器请求的消息包含了多种类型,不过基本来说,分为了文本消息处理、事件消息处理、语音消息的识别,以及成为开发者之前的那个消息认证操作基本分类,下面是我绘制的一个消息分类图,其中介绍了这几种关系,以及各自的消息细化分类。 对于这些消息的请求,我们在开发服务器端,需要编写相关的逻辑进行对应给的处理,然后给微信服务器平台回应消息即可。 在前一篇的随笔里面我贴过代码,介绍微信消息处理的入口操作,代码如下所示。 public void ProcessRequest(HttpContext context) 其中的Execute(postString);就是对消息的处理函数,它实现了对不同消息的分发处理过程。‘ /// <summary> 里面的WeixinApiDispatch就是一个分发的管理类,它提取请求消息的内容,并构建不同类型的消息参数,传递给不同的响应函数进行处理,然后返回封装好的XML内容,作为响应。 具体的代码处理逻辑如下图所示。 这个消息处理接口,其实就是定义好一系列的对请求消息的处理操作,参数是不同给的消息对象,具体的代码定义如下所示(由于篇幅原因,省略部分接口,具体可以参考上图)。 /// <summary> 从上面的代码可以看出,不同的消息,到处理函数这里,就以不同的消息实体类的方式传递过来了(注意:实体类是我根据程序开发需要自己定义的,非微信本身的实体类),这样非常方便我们处理操作,否则每次需要解析不同的消息内容,很容易出现问题,这样强类型的数据类型,提高了我们开发微信应用的强壮型和高效性。这些实体类的对象有一定的继承关系的,他们的继承关系如下所示。 2、微信的管理接口上面的消息分类是微信服务器向开发者服务器发送的消息请求操作,还有一种消息,是我们开发者服务器向微信服务器进行的消息请求或者响应,这种这里暂且称之为微信的管理接口,它表明了我们可以通过这些接口进行相关的消息回复或者数据管理操作。它的分类图如下所示。 微信的回复消息处理,它也和上面小节的信息一样,它也是继承自BaseMessage实体类的(同样,下图的实体类及其继承关系也是自定义的,方便程序开发),它的关系如下所示 回复的消息,一般用的最多的是文本消息和图文消息。 文本消息的效果如下所示。 图文消息,可以增加图片,还可以增加详细的链接页面,是非常好看的一种效果,对于一些内容比较多,希望展现更好效果的,一般采用这种,效果如下所示。
C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等) C#开发微信门户及应用(18)-微信企业号的通讯录管理开发之成员管理 C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理 C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能 C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据 C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍 C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息 C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器
主要研究技术:代码生成工具、Visio二次开发、客户关系管理软件、送水管理软件等共享软件开发 专注于Winform开发框架、Web开发框架、WCF开发框架的研究及应用。 转载请注明出处: 撰写人:伍华聪 http://www.iqidi.com 该文章在 2014/12/2 1:13:07 编辑过 |
关键字查询
相关文章
正在查询... |