C#开发微信门户及使用(2)–微信消息的拍卖及回答

微信下如火如荼,很多铺都愿意增加上信息快车,这个是一个商机,也是一个技能的矛头,因此,有空切磋下、学习下微信的连带支付,也不怕改成计划的配置事情之一了。本系列文章要从一个渐进的角度上,全面介绍微信的相干支付过程及连锁经验总结,希望为大家了解一下系的开支过程。本篇随笔主要根据上一致篇《C#开微信门户及使用(1)–开始以微信接口》的底蕴及展开深刻的牵线,介绍微信信息之处理以及应对的过程。

1、微信的音应交互

俺们知道,微信的服务器架由了客户手机及开发者服务器的一个桥,通过信息之传递与响应,实现了和用户之交互操作,下面是她的音信流程图。

88bifa必发娱乐 1

微信为开发者服务器请求的信包含了多种类型,不过基本来说,分为了文本消息处理、事件信息处理、语音信息的分辨,以及成为开发者之前的异常消息证实操作基本分类,下面是自身绘制的一个信息分类图,其中介绍了当时几乎种涉,以及分级的音细化分类。

88bifa必发娱乐 2

对此这些信息的请求,我们在开发服务器端,需要编制相关的逻辑进行对诺于的拍卖,然后给微信服务器平台对消息即可。

当头里一样篇之随笔里面我贴过代码,介绍微信信息处理的输入操作,代码如下所示。

        public void ProcessRequest(HttpContext context)
        {
            //WHC.Framework.Commons.LogTextHelper.Info("测试记录");

            string postString = string.Empty;
            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }

                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }
            else
            {
                Auth();
            }
        }

中间的Execute(postString);就是针对信息的处理函数,它实现了对两样消息之分发处理过程。‘

        /// <summary>
        /// 处理各种请求信息并应答(通过POST的请求)
        /// </summary>
        /// <param name="postStr">POST方式提交的数据</param>
        private void Execute(string postStr)
        {
            WeixinApiDispatch dispatch = new WeixinApiDispatch();
            string responseContent = dispatch.Execute(postStr);

            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Write(responseContent);
        }

里的WeixinApiDispatch就是一个散发的管理类,它取请求消息的内容,并构建不同门类的音讯参数,传递给不同之响应函数进行拍卖,然后回封装好之XML内容,作为响应。

切实的代码处理逻辑如下图所示。

88bifa必发娱乐 3

是信息处理接口,其实就是概念好同一多级的对要消息之处理操作,参数是见仁见智为的信对象,具体的代码定义如下所示(由于篇幅由,省略有些接口,具体可参照达图)。

    /// <summary>
    /// 客户端请求的数据接口
    /// </summary>
    public interface IWeixinAction
    {
        /// <summary>
        /// 对文本请求信息进行处理
        /// </summary>
        /// <param name="info">文本信息实体</param>
        /// <returns></returns>
        string HandleText(RequestText info);

        /// <summary>
        /// 对图片请求信息进行处理
        /// </summary>
        /// <param name="info">图片信息实体</param>
        /// <returns></returns>
        string HandleImage(RequestImage info);

...........................


        /// <summary>
        /// 对订阅请求事件进行处理
        /// </summary>
        /// <param name="info">订阅请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventSubscribe(RequestEventSubscribe info);

        /// <summary>
        /// 对菜单单击请求事件进行处理
        /// </summary>
        /// <param name="info">菜单单击请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventClick(RequestEventClick info);

..............................
    }

打者的代码可以见到,不同的信,到处理函数这里,就因为不同之音实体类的章程传递过来了(顾:实体类是自冲程序支付要好定义之,非微信本身的实体类),这样特别有益我们处理操作,否则每次用分析不同的消息内容,很轻并发问题,这样强类型的数据类型,提高了我们付出微信下之强壮型和高效性。这些实体类的靶子来必然的接轨关系的,他们之存续关系如下所示。

88bifa必发娱乐 4

2、微信的管理接口

面的音分类是微信服务器向开发者服务器发送的音信请求操作,还有雷同种信息,是咱们开发者服务器向微信服务器进行的信息请求或响应,这种这里权且称之为微信的管制接口,它标志了咱可由此这些接口进行连锁的音信回复或者数管理操作。它的归类图如下所示。

88bifa必发娱乐 5

微信的过来消息处理,它也与方面小节的音相同,它呢是继续自BaseMessage实体类的(平等,下图的实体类及其继承关系啊是从定义的,方便程序支付),它的涉嫌如下所示

88bifa必发娱乐 6

过来的音讯,一般用底极度多的凡文件消息和图文信息。

文件消息的作用如下所示。

88bifa必发娱乐 7

图文信息,可以追加图,还可以增加详细的链接页面,是怪难堪的一模一样种力量,对于有情节比较多,希望展现更好效益的,一般采取这种,效果如下所示。

88bifa必发娱乐 8

 

C#付出微信门户及利用(25)-微信企业号的客户端管住效能

C#出微信门户及用(24)-微信小店货架信息保管

C#支付微信门户及动(23)-微信小店商品管理接口的包装和测试

C#付出微信门户及使用(22)-微信小店的开发及用

C#开微信门户及利用(21)-微信企业号的音信和波之接纳处理与解密 

C#付出微信门户及以(20)-微信企业号的菜谱管理

C#开微信门户及采取(19)-微信企业号的音信发送(文本、图片、文件、语音、视频、图文信息等)

C#付出微信门户及运用(18)-微信企业号的通讯录管理支出的成员管理

C#开微信门户及以(17)-微信企业号的通讯录管理支付之部门管理

C#付出微信门户及采取(16)-微信企业号的安排和采取

C#出微信门户及利用(15)-微信菜单增加扫一扫、发图、发地理位置功能

 C#付出微信门户88bifa必发娱乐及以(14)-在微信菜单中以重定向获得用户数量

C#开微信门户及采取(13)-使用地理位置扩展相关应用

C#支出微信门户及应用(12)-使用语音处理

C#开发微信门户及运用(11)–微信菜单的又展现方法介绍

C#开微信门户及动(10)–在保管体系受协同微信用户分组信息

C#付出微信门户及采取(9)-微信门户菜单管理以及交至微信服务器

C#出微信门户及利用(8)-微信门户应用管理网机能介绍

C#支付微信门户及用(7)-微信多客服功能及开销并

C#付出微信门户及动(6)–微信门户菜单的管制操作

C#出微信门户及下(5)–用户分组信息保管

C#支付微信门户及使用(4)–关注用户列表及详细信息管理

C#开发微信门户及运用(3)–文本消息及图文信息的对

C#支付微信门户及动(2)–微信信之处理和报

C#付出微信门户及采取(1)–开始动微信接口

相关文章