码迷,mamicode.com
首页 > 微信 > 详细

Asp.Net Mvc对接微信公共号

时间:2021-03-11 11:44:02      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:文本   echo   rem   vat   api   密钥   兼容   orm   asp   

    这两天在做微信公众号,记录一下怎么和微信公众号对接。

  首先,当然要申请一个微信公众号了,登录公众号进入首页,然后找到 开发-->基本配置 里面有一个服务器配置。这个是需要和我们的服务器对接的。

  创建一个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;
        }
}
View Code

  代码中的Token 和公众号里的Token 一致  

  MessageHelper.cs 代码如下:

技术图片View Code

  

  编写完之后,把项目部署到服务器中,端口号为80。

  公众号中的服务器配置:

    服务器地址(Url): http://你服务器地址/api/控制器名/方法名

    Token:和代码中的Token一致

    消息加解密密钥:随机生成

    消息加解密方式:我选的兼容模式,容易调试和开发。

 

  然后保存就可以啦,别忘了点击启用,赶快试一下吧。

 

  希望不足的地方,大佬们可以指正出来。

Asp.Net Mvc对接微信公共号

标签:文本   echo   rem   vat   api   密钥   兼容   orm   asp   

原文地址:https://www.cnblogs.com/baixiaocai/p/14512228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!