博客
关于我
Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK
阅读量:461 次
发布时间:2019-03-06

本文共 3755 字,大约阅读时间需要 12 分钟。

Senparc.Weinxin.MP SDK 在 ASP.NET MVC 项目中的应用指南

引入 Senparc.Weinxin.MP SDK

Senparc.Weinxin.MP SDK 是一个功能强大的微信公众平台开发工具,集成了微信 6.x 系统的核心 API。通过这个 SDK,开发者可以轻松实现微信公众号、微信支付、企业微信以及小程序等多种功能的对接。在本文中,我们将详细介绍如何在 ASP.NET MVC 项目中集成并使用 Senparc.Weinxin.MP SDK。


一、安装 Senparc.Weinxin.MP SDK

方法一:使用 Nuget 包管理器

  • 打开项目的 解决方案管理器
  • 右键点击项目,选择 管理 Nuget 程序包
  • 在搜索栏中输入 Senparc.Weinxin.MP,找到相关包并安装。
  • 安装完成后,SDK 及其依赖项会被自动引入到项目中。
  • 方法二:手动引用 DLL

  • Senparc.Weinxin.MP.dllSenparc.Weinxin.MP.MvcExtension.dll 文件复制到项目的 bin 文件夹中。
  • 在项目中添加引用,确保 Senparc.Weinxin.MP.dllSenparc.Weinxin.MP.MvcExtension.dll 被正确识别。

  • 二、配置全局设置

    1. 在全局应用类中配置

  • 打开 Global.asax.cs 文件。
  • Application_Start() 方法中,添加以下代码:
  • var isGlobalDebug = true;var senparcSetting = SenparcSetting.BuildFromWebConfig(isGlobalDebug);IRegisterService register = RegisterService.Start(senparcSetting)    .UseSenparcGlobal(false, null);var isWeixinDebug = true;var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(isWeixinDebug);register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting);

    2. 修改 Web.Config 文件

    Web.config 中,添加以下配置:


    三、开发微信接收控制器

    1. 创建控制器类

  • 在项目中创建一个新的控制器类 WeinxinController.cs
  • 使用以下 namespaces:
  • using Senparc.Weinxin.MP.Entities.Request;using Senparc.Weinxin.MP.MvcExtension;using Senparc.Weinxin.MP.Sample.CommonService.CustomMessageHandler;

    2. 实现核心功能

    using System;using System.IO;using System.Web.Configuration;using System.Web.Mvc;using Senparc.Weinxin.MP.Entities.Request;namespace Senparc.Weinxin.MP.Sample.Controllers{    using Senparc.Weinxin.MP.MvcExtension;    using Senparc.Weinxin.MP.Sample.CommonService.CustomMessageHandler;    public partial class WeinxinController : Controller    {        private static string Token = Config.SenparcWeixinSetting.Token;        private static string EncodingAESKey = Config.SenparcWeixinSetting.EncodingAESKey;        private static string AppId = Config.SenparcWeixinSetting.WeixinAppId;        [HttpGet]        [ActionName("Index")]        public ActionResult Get(PostModel postModel, string echostr)        {            if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))            {                return Content(echostr);            }            else            {                return Content("failed:" + postModel.Signature + "," + MP.CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "."                    + "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");            }        }        [HttpPost]        [ActionName("Index")]        public ActionResult Post(PostModel postModel)        {            if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))            {                return Content("参数错误!");            }            postModel.Token = Token;            postModel.EncodingAESKey = EncodingAESKey;            postModel.AppId = AppId;            var messageHandler = new CustomMessageHandler(Request.InputStream, postModel);            messageHandler.Execute();            return new FixWeixinBugWeixinResult(messageHandler);        }    }}

    四、配置微信后台

  • 在微信后台中,设置 URL 为 http://xxx/Weinxin
  • 在微信后台中,填写 Token 为 Web.config 中的 WeixinTokenappsetting.json 中的 Token

  • 五、接收微信消息

    1. 消息处理逻辑

    CustomMessageHandler 类中,实现消息处理逻辑。例如:

    public class CustomMessageHandler : MessageHandler{    public CustomMessageHandler(Stream inputStream, PostModel postModel)    {        this.inputStream = inputStream;        this.postModel = postModel;    }    protected override void ProcessMessage()    {        // 自定义消息处理逻辑        // ...    }}

    2. 返回格式

    使用 FixWeinxinBugWeixinResult 类将处理结果格式化为微信期望的返回格式。


    六、部署与测试

  • 部署项目到服务器。
  • 在微信开发者平台中获取微信公众号的身份认证。
  • 在微信后台中提交接收地址,并验证接收到的消息。

  • 通过以上步骤,你可以轻松实现微信公众号、支付以及企业微信等功能的对接。如果需要进一步的功能扩展,可以参考 Senparc.Weinxin.MP 的官方文档或示例项目。

    转载地址:http://bbmfz.baihongyu.com/

    你可能感兴趣的文章
    php课程 4-16 数组自定义函数(php数组->桶)
    查看>>
    PHP调用接口用post方法传送json数据
    查看>>
    php转化IP为整形
    查看>>
    php输出数据到csv文件
    查看>>
    php输出语句
    查看>>
    php运行原理详细说明
    查看>>
    php运行环境出现Undefined index 或variable时解决方法
    查看>>
    php进程通信
    查看>>
    R&Python Data Science 系列:数据处理(2)
    查看>>
    php递归算法总结
    查看>>
    PHP递归遍历文件夹
    查看>>
    R&Python Data Science 系列:数据处理(1)
    查看>>
    php错误日志文件
    查看>>
    PHP错误解决:Array and string offset access syntax with curly braces is deprecated
    查看>>
    php隐藏手机号中间4位方法总结
    查看>>
    php面向对象三大特征封装、多态、继承
    查看>>
    php面向对象全攻略
    查看>>
    php面向对象的基础题
    查看>>
    php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)...
    查看>>
    php页面增加自选项,php-在Woocommerce中添加新的自定义默认订购目录选项
    查看>>