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(博客园的上传附件,俺不会使)
asp.net 微信公众平台我也来搞一搞(看看和大家的有什么不一样)的更多相关文章
- asp.net微信公众平台开发
http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97 ...
- ASP.NET 微信公众平台模板消息推送功能完整开发
最近公众平台的用户提出了新需求,他们希望当收到新的邮件或者日程的时候,公众平台能主动推送一条提醒给用户.看了看平台提供的接口,似乎只有[模板消息]能尽量满足这一需求,但不得不说微信提供的实例太少,而且 ...
- asp.net微信公众平台本地调试设置
1.首先要开启内网穿透功能,我这边使用自己搭建的ngrok内网穿透服务(具体如何搭建ngrok内网穿透服务,另开一篇说) 2.开启内网穿透后,即可实现互联网访问 www.tbkmama.cn 指向 1 ...
- [C#]asp.net开发微信公众平台----目录汇总-持续更新
1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...
- asp.net开发微信公众平台----目录汇总-持续更新
1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
系列目录 前言: 一.阅读这段系列之前,你必须花半天时间大致阅读微信公众平台的API文档,我尽量以简短快速的语言与大家分享一个过程 二.借助微信公众平台SDK Senparc.Weixin for C ...
- C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题
[引言] 利用asp.net搭建微信公众平台的案例并不多,微信官方给的案例是用PHP的,网上能找到的代码很多也是存在着这样那样的问题或者缺少部分方法,无法使用,下面是我依照官方文档写的基于.net 搭 ...
- asp.net 实现微信公众平台的主动推送信息
通过学习借鉴朋友的实现方法进行整理(微信公众帐号主动发送消息给用户,asp.net版本). /// <summary> /// MD5 32位加密 /// </summary> ...
- [c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单
前7篇把最基础的消息接收和回复全做完了, 也把高级接口的入口和分拆处理写好了空方法, 此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接 ...
随机推荐
- ASP.NET关于引用bootstrap.css导致Gridview Header无法居中
HorizontalAlign="Center" 属性因不知名原因被覆盖掉. 可以使用<HeaderStyle CssClass="text-center&qu ...
- Highways poj 2485
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
- /dev/random和/dev/urandom的一点备忘
1. 基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys, ...
- Java switch-case
首先从原理上来阐述这个问题: switch(表达式){case 常量表达式1:语句1;....case 常量表达式2:语句2;default:语句;}1.default就是如果没有符合的case就执行 ...
- bzoj3295
没什么好说的,树套树应该随便搞我在128MB空间下大胆的写了主席树当然要把原树和修改树分开来建没有然后了 type node=record l,r,s:longint; end; ..] of nod ...
- LINUX怎么修改IP地址
1,先搜索了一下,得到以下解释 IP IP地址 Netmark 子网掩码 Gateway 默认网关 HostName 主机名称 DomainName 域名 DNS DNS的IP 2,需要修改的文件常有 ...
- 【C#】详解使用Enumerable.Distinct方法去重
Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...
- poj 1161 最短路构图
题目链接:http://poj.org/problem?id=1161 #include <cstdio> #include <cmath> #include <algo ...
- u盘启动openwrt
opkg update opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext3 opkg install kmod-usb-storage reboot m ...
- hdoj 2102 A计划
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...