微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码
2016-03-30 08:53
736 查看
微信开发中,首先遇到的问题就是处理怎样接收和响应用户消息 , 本文将向大家介绍一下方法和关键的代码。
本文使用的接口库是 :https://github.com/chendong152/Weixin_api_.net 很感谢
TD的作者
ASP.NET开发的 接收微信消息和响应用户消息代码例如以下:
文件名称 : v.ashx
这段代码中具有开发人员验证的功能,同一时候也考虑到了 由菜单发送到平台的文本的接收和响应。
最后 广告一下 : 完整的 微微信.NET 能够在这里找到 udoo123.taobao.com
本文使用的接口库是 :https://github.com/chendong152/Weixin_api_.net 很感谢
TD的作者
ASP.NET开发的 接收微信消息和响应用户消息代码例如以下:
文件名称 : v.ashx
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xml; using Td.Weixin.Public.Common; using Td.Weixin.Public.Message; namespace WeiWeiXin.Net6 { /// <summary> /// v 的摘要说明 /// </summary> public class v : IHttpHandler { /// <summary> /// 开发人员 验证 模块 /// </summary> /// <param name="context"></param> public bool ProcessRequest2(HttpContext context) { context.Response.ContentType = "text/plain"; // context.Response.Write("Hello World"); try { string echoStr = context.Request["echoStr"]; if (!string.IsNullOrEmpty(echoStr)) { context.Response.Write(echoStr); return true; } else { // context.Response.Write("end"); // context.Response.End(); } } catch (Exception e) { // context.Response.Write("end" + e.Message + e.ToString()); // context.Response.End(); } return false; } public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //假设 是 验证 则 直接 退出 if (ProcessRequest2(context)) return; context.Response.ContentType = "text/plain"; var m = ReceiveMessage.ParseFromContext(); if (m == null) return; //被关注 if (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") >= 0) { //发送AIML请求 var r2 = m.GetTextResponse(); string result = "[微笑]欢迎关注"; r2.Data = (TextMsgData)result; r2.Response(); return; } //数据解析 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(m.ToXmlText());//"<xml><description><![CDATA[木子屋:http://www.mzwu.com/]]></description></xml>"); //菜单 或者 用户文本输入 if (m.MsgType == MessageType.Text || (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") < 0)) { //读取 string rr = ""; if (m.MsgType == MessageType.Text) { rr = xmlDoc.SelectSingleNode("//Content").FirstChild.InnerText.ToLower().Trim(); } else { rr = xmlDoc.SelectSingleNode("//EventKey").FirstChild.InnerText.ToLower().Trim(); } //发送 var r2 = m.GetTextResponse(); string result = "欢迎使用,您发送的是:" +rr;// r2.Data = (TextMsgData)result; r2.Response(); return; } } public bool IsReusable { get { return false; } } } }
这段代码中具有开发人员验证的功能,同一时候也考虑到了 由菜单发送到平台的文本的接收和响应。
最后 广告一下 : 完整的 微微信.NET 能够在这里找到 udoo123.taobao.com
相关文章推荐
- jeewx-api-1.0.1(捷微微信接口API)版本正式发布
- 微信公众帐号开发教程第18篇-应用实例之音乐搜索
- jeewx-api 1.0.5 版本发布,微信SDK接口封装(支持微信第三方开放平台)
- 【视频教程】JeeWx 微信开发入门视频
- 微信开发本地调试工具(模拟微信客户端)
- 微信企业号开发之加密方案与全局返回码说明
- 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- 微信企业号终于来了 第一时间带你体验真面目
- 每周四JEECG社区公开课:微信公众账号运营(jeewx使用)入门讲解
- 基于百度地图API的微信周边搜索
- 微信开源项目讲解使用公开课
- 微信公众帐号开发教程第16篇-应用实例之历史上的今天
- 我们的开源项目-2013年度开源社区线下聚会《JEECG微云快速开发平台-SAAS企业应用在线开发与微信移动应用》PPT分享
- 微信高仿 视频
- 使用delphi+intraweb进行微信开发1~4代码示例
- 类似于微信发语音Demo
- 微信支付开发(6) 收货地址共享接口
- 公众平台测试帐号开发全流程第4篇-自定义菜单
- 公众号小记