微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码
程序员文章站
2024-03-13 12:45:03
...
微信开发中,首先遇到的问题就是处理怎样接收和响应用户消息 , 本文将向大家介绍一下方法和关键的代码。
本文使用的接口库是 :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
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5335773.html,如需转载请自行联系原作者
下一篇: C#微信退费
推荐阅读
-
C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题...
-
微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码
-
thinkphp-用weiphp开发微信如何在代码中调用文本回复?然后如何获取用户输入的内容?
-
thinkphp-用weiphp开发微信如何在代码中调用文本回复?然后如何获取用户输入的内容?
-
通过asp.net mvc开发微信自定义菜单编辑工具的代码示例
-
.NET 微信开发自动内容回复实例代码
-
.NET 微信开发自动内容回复实例代码
-
asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
-
asp.net微信开发用户分组管理的示例代码
-
微信企业号开发:开启回调模式/Python判断信息-回复指定内容示例代码