博客
关于我
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.dll 和 Senparc.Weinxin.MP.MvcExtension.dll 文件复制到项目的 bin 文件夹中。
  • 在项目中添加引用,确保 Senparc.Weinxin.MP.dll 和 Senparc.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 中的 WeixinToken 或 appsetting.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/

    你可能感兴趣的文章
    python下载_安装_配置_以及第一行python程序---python工作笔记009
    查看>>
    Python不协调机器人消息.内容
    查看>>
    Python与C#之间内存共享互传信息
    查看>>
    python与c语言混合编程_你试过C语言和Python一起混合编程吗?两者相加不是已经无敌了!...
    查看>>
    python与excel
    查看>>
    Python与Excel的完美邂逅:深入浅出,手把手教你轻松玩转Excel数据操作
    查看>>
    python与flask_Python编程中flask的简介与简单使用
    查看>>
    python与图灵机器人交互(WXPY版本)
    查看>>
    python与运算符_python运算符
    查看>>
    python两个列表获取交集,并集,差集
    查看>>
    python两个字典合并,两个list合并
    查看>>
    Python两个版本共存时,命令行升级pip
    查看>>
    Python两个版本共存时,怎么验证是否安装成功 scrapy
    查看>>
    Python两个版本共存时,通过pip安装Scrapy
    查看>>
    python两组变量的相关关系散点图_变量是什么?变量间的两种关系——函数关系和相关关系(小学版)...
    查看>>
    Python中 pass语句的作用
    查看>>
    python中 urllib, urllib2, httplib, httplib2 几个库的区别
    查看>>
    python中 yaml库 & json库 & xmltodict库使用
    查看>>
    python中 将你的名字转化成为二进制并输出
    查看>>
    Python中*args 和**kwargs的用法
    查看>>