asp.net 微信公众平台我也来搞一搞(看看和大家的有什么不一样)

去年10月份左右接触的微信,今年又要在上面做新的改动(好烦人,为什么我这么懒),小菜用了2天的工作日,做了一个微信解析器,方便大家调用。

好处:

1.屌丝们不用再去做微信验证。

2.屌丝们不用去解析xml文档了。

3.屌丝们不用再看到一大堆的解析判断代码了。

4.屌丝们这个解析器可以一直用下去啊。

缺点:

业务上的逻辑必须自己手动实现哦。

先看使用效果:

1.原始使用方式:

先建立一个web应用

之后再Hanlder文件中各种,蛋疼的if else 各种 swtich 各种。

ProcessRequest 里面我都不想再看了,太乱了。

使用微信解析器后的调用方式如下:

 public class WeixinHandler : MicroMessageHandler
    {
        public override void Control(BaseMessage message, HttpContext context)
        {
            LogWriter.WriteLog("message", message.MsgType.ToString() + " \r\n" + message.XmlContext, context);

            if (message.MsgType == MessageType.Text)
            {
                ReceiveTextMessage m = (ReceiveTextMessage)message;

                ReplyTextMessage a = new ReplyTextMessage();
                a.FromUserName = m.ToUserName;
                a.ToUserName = m.FromUserName;
                a.Content = m.Content;

                context.Response.Write(a.ToString());
            }

            if (message.MsgType == MessageType.Event)
            {
                BaseEvent ev = (BaseEvent)message;

                if (ev.Event == EventType.Subscribe)
                {
                    SubscribeEvent se = (SubscribeEvent)ev;

                    ReplyTextMessage a = new ReplyTextMessage();
                    a.FromUserName = se.ToUserName;
                    a.ToUserName = se.FromUserName;
                    a.Content = "欢迎关注鑫考家校互联咨询群";

                    context.Response.Write(a.ToString());
                }

                if (ev.Event == EventType.Unsubscribe)
                {
                    LogWriter.WriteLog("unsubscribe", message.FromUserName, context);
                }

            }

        }
    }

通过BaseMessage基类,取回事件与消息内容。

Micromessage

结构体系如下:

最后附上Micromessage.dll。

下载地址:http://pan.baidu.com/s/1qWCsOMC(博客园的上传附件,俺不会使)

posted @ 2014-04-17 14:21  E=mc²  阅读(1682)  评论(3编辑  收藏  举报