Asp.Net Mvc对接微信公共号
时间:2021-03-11 11:44:02
收藏:0
阅读:0
这两天在做微信公众号,记录一下怎么和微信公众号对接。
首先,当然要申请一个微信公众号了,登录公众号进入首页,然后找到 开发-->基本配置 里面有一个服务器配置。这个是需要和我们的服务器对接的。
创建一个asp.net 应用程序,创建一个api控制器,代码如下:
public class WxApiController : ApiController { private string _token = "weixinYWTX"; /// <summary> /// 验证签名,检验是否是从微信服务器上发出的请求 /// </summary> /// <param name="model">请求参数模型 Model</param> /// <returns>是否验证通过</returns> private bool CheckSignature(string signature, string timestamp, string nonce, string echostr) { string tempStr; //创建数组,将Token,timestamp,nonce三个数据加入数组 string[] array = { _token, timestamp, nonce }; //进行排序 Array.Sort(array); //拼接为一个字符串 tempStr = string.Join("", array); tempStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tempStr, "SHA1").ToLower(); //判断signature是否正确 if (tempStr.Equals(signature)) { return true; } else { return false; } } [HttpGet] public HttpResponseMessage Vaild(string signature, string timestamp, string nonce, string echostr) { HttpResponseMessage result; //通过验证 if (CheckSignature(signature, timestamp, nonce, echostr)) { if (!string.IsNullOrEmpty(echostr)) { //返回纯文本text/plain ,返回json application/json ,返回xml text/xml result = MessageHelper.ResponseText(echostr); } else { result = MessageHelper.ResponseText(""); } } else { result = MessageHelper.ResponseText(""); } return result; } }
代码中的Token 和公众号里的Token 一致
MessageHelper.cs 代码如下:
View Code
编写完之后,把项目部署到服务器中,端口号为80。
公众号中的服务器配置:
服务器地址(Url): http://你服务器地址/api/控制器名/方法名
Token:和代码中的Token一致
消息加解密密钥:随机生成
消息加解密方式:我选的兼容模式,容易调试和开发。
然后保存就可以啦,别忘了点击启用,赶快试一下吧。
希望不足的地方,大佬们可以指正出来。
评论(0)