微信公众平台入门开发教程.Net(C#)框架

区块链入门:用账本、乐高和三台旧电脑讲懂分布式账本 区块链是一种去中心化的分布式账本技术,其核心原理是通过密码学哈希、共识机制和链式结构实现数据不可篡改与多方共同验证。它不依赖单一中心,而是将交易记录同步复制到多个节点,依靠数学规则而非人工信任达成一致,从而在数字世界构建可验证的信用基础设施。这种‘集体见证’模式显著提升了系统抗单点故障与人为干预的能力,广泛应用于供应链溯源、数字身份、教育管理及公益透明等需强信任保障的场景。本文以账本类比、乐高拆解和Ganache实操为线索,面向零基础读者通俗解析哈希值、挖矿与智能合约等关键概念。 阅读详情

一、序言

  一直在想第一次写博客,应该写点什么好?正好最近在研究微信公众平台开发,索性就记录下,分享下自己的心得,也分享下本人简单模仿asp.net运行机制所写的通用的微信公众平台开发.Net(c#)框架吧。由于本人知识有限、文字组织能力有限,如有错误或不足,请多多指教!

二、微信公众平台.Net(C#)框架介绍

 

  运行流程:WeiXinRequestHandler.ashx接收微信服务器post请求,创建WeiXinApplication实例,构造函数中设置WeiContext(WeiXinRequest,WeiXinResponse)请求上下文属性,执行WeiXinApplication的GetResponseXml()方法,使用WeiXinHandlerFactory工厂类动态加载程序集,遍历程序集里的Type集合,反射获取控制器中的WeiXinMsgType属性值判断是否与请求消息上下文WeiXinRequest的WeiXinMsgType属性值一致创建相对应的消息处理控制器实例,并返回这个实例,赋值给WeiXinApplication中IWeiXinHandler属性值,调用ProcessWeiXin(WeiXinContext context)方法,执行完毕后,返回WeiXinResponse对象中的响应消息。

三、微信公众平台注册/接入相关事宜

1、注册:

  填写基本信息,激活邮箱,登记信息......公众号信息。值得一提的是:目前个人只允许注册订阅号,公司单位才能注册服务号,服务号可以实现自定义菜单;公众号名称一经确认就无法修改!

2、接入:(必须条件:拥有自己的公网可访问的服务器)

   ①、成为开发者:在公众平台网站的高级功能 – 开发模式页,点击“成为开发者”按钮,根据官方文档填写相关接口配置信息并提交。

   ②、验证url有效性:开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:

 

参数描述
signature微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp时间戳
nonce随机数
echostr随机字符串

 

  开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

 

加密/校验流程如下:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

验证工具类:UtilityHelper

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
     #region 检查加密签名是否一致 - public static bool CheckSignature( string signature, string timestamp, string nonce)
  
         /// <summary>
         /// 检查加密签名是否一致
         /// </summary>
         /// <param name="signature">微信加密签名</param>
         /// <param name="timestamp">时间戳</param>
         /// <param name="nonce">随机数</param>
         /// <returns></returns>
         public static bool CheckSignature( string signature, string timestamp, string nonce)
         {
             List< string > stringList = new List< string > {Token, timestamp, nonce};
             // 字典排序
             stringList.Sort();
             return Sha1Encrypt( string .Join( "" , stringList)) == signature;
         }
  
         #endregion
  
         #region 对字符串SHA1加密 - public static string Sha1Encrypt(string targetString)
  
         /// <summary>
         /// 对字符串SHA1加密
         /// </summary>
         /// <param name="targetString">源字符串</param>
         /// <returns>加密后的十六进制字符串</returns>
         private static string Sha1Encrypt( string targetString)
         {
             byte [] byteArray = Encoding.Default.GetBytes(targetString);
             HashAlgorithm hashAlgorithm = new SHA1CryptoServiceProvider();
             byteArray = hashAlgorithm.ComputeHash(byteArray);
             StringBuilder stringBuilder = new StringBuilder();
             foreach ( byte item in byteArray)
             {
                 stringBuilder.AppendFormat( "{0:x2}" , item);
             }
             return stringBuilder.ToString();
         }
  
         #endregion
  
         #region 根据加密类型对字符串SHA1加密 - public static string Sha1Encrypt(string targetString, string encryptType)
  
         /// <summary>
         /// 根据加密类型对字符串SHA1加密
         /// </summary>
         /// <param name="targetString">源字符串</param>
         /// <param name="encryptType">加密类型:MD5/SHA1</param>
         /// <returns>加密后的字符串</returns>
         private static string Sha1Encrypt( string targetString, string encryptType)
         {
             return FormsAuthentication.HashPasswordForStoringInConfigFile(targetString, encryptType);
         }
  
         #endregion

  

四、微信公众平台运行原理介绍

 

五、结束

  字穷了...~~~!附源码吧。看web.config,打开Test.html进行测试。添加自己的消息控制器必须继承WeiXinHandlerType,程序集生成插件目录bin/WeiXinPlugins。

源码下载:WeiXin.Framework

广交四海豪杰:Q390915549,T15002122201
tewa-707e光猫超级密码获取方法 这款光猫很魔性,没有WIFI,没有USB接口,没有Telnet,试了很多方法去获取超级密码都不行。解密时可能会报错,可能是文件后面部分不晓得是咋拼接过来的,用AES解密时分组数据有问题。3、这个文件是用AES加密了的,直接打开是乱码,所以得用AES解密,key为16个字节的 x00。打开解出来的文件,然后搜索 telecomadmin,就可以发现超级密码了。参考资料里面的光猫不是同一款,但解密的方法基本相同的。 阅读详情

相关推荐

Unity中URP下的菲涅尔效果实现(个性化修改)

在上篇文章中,我们实现了 URP 下的菲涅尔基础效果,我们在这篇文章中,对其进行自定义化修改。

楠溪泽岸的博客 2063

wechat4j开发-菜单创建

wechat4j开发-菜单创建 wechat4j中提供了MenuManager类来创建菜单 1.相关的实体 org.sword.wechat4j.menu.Menu; org.sword.wechat4j.menu.MenuButton; org.swo...

aguiyi3968的博客 2342

企查查爬取实战

实战成果完成接口定位、抓包参数拆解、签名逆向、报错修复全流程调试,梳理出企查查多层风控逻辑;最终按照搜索分页规则,规范整理出两页共 20 条结构化企业数据,以标准 JSON 格式本地保存,字段完整、数据排版规范。现存局限平台顶层设备指纹与人机验证风控,纯 requests 网络请求模式无法突破;高频请求还存在账号限流、IP 访问限制风险,爬虫稳定性受平台策略影响较大。技术收获。

czr2026的博客 1127

IIS发布.net6 api+微信小程序/H5真机调试接口的流程

我们创建.net6 api程序,然后使用SqlSugar连接MySQL数据库,再使用iis发布,当然使用其他的也行。再开发一个微信小程序,手机运行小程序,手机运行H5,都可以看到数据库的数据,就是这么一个流程。开始!

故里2130 3392

零外围电路!用CH340X实现ESP32一键下载的完整教程

本文详细介绍了如何利用CH340X系列USB转串口芯片实现ESP32的一键自动下载功能,无需任何外围逻辑控制电路。通过解析CH340X的增强型DTR/RTS功能,提供核心电路设计、电压匹配方案,并指导在Arduino IDE和PlatformIO中进行软件配置,帮助开发者构建简洁、可靠且低成本的ESP32下载方案。

gpu4optimizer的博客 771

基于DNN、CNN与SVM的串联电弧故障智能检测:从原理到嵌入式部署

在电气安全与工业物联网领域,时间序列分类是处理传感器信号、实现状态监测与故障诊断的核心技术。其原理在于从连续的信号数据中提取有效特征,并利用机器学习模型识别异常模式。这项技术的核心价值在于能够实现设备预测性维护、提升系统安全性并降低运维成本,广泛应用于智能电表、电机健康监测、电力设备保护等场景。本文聚焦于电气安全中的一个具体且危险的隐患——串联电弧故障的检测。针对这一隐蔽性强、传统方法误报率高的问题,项目深入实践了三种主流AI模型:深度神经网络、卷积神经网络和支持向量机。通过对比DNN的通用特征学习能力、C

weixin_31860973的博客 413

实例:用C#.NET手把手教你做微信公众号开发(1)--接入

从小白到熟练运用C#.NET开发微信公众号服务,原来就是这么简单。

持之以恒 1万+

力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.4.5 企业版 旗舰版

JNPF作为作为一款深受用户喜爱的低代码产品,凭借雄厚的科研技术力量、丰富的软件开发项目经验、严谨的项目开发流程和高质量的售后服务,已成功帮助千家企业完成数字化项目,建立了覆盖不同行业客户和不同发展阶段的软件产品服务体系。

huoooos0的博客 1839

实例:用C#.NET手把手教你做微信公众号开发(11)--生成带参数二维码

带参数的二维码用途非常的多,核心应用就是公众号各种各样的推广,本篇做准备,下篇详解海报推广应用案例。

持之以恒 8125

基于深度学习的商品标签识别系统:UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集

基于YOLO系列模型的商品标签识别系统能够有效解决商品信息提取的自动化问题。通过合理的数据集准备、模型训练和UI设计,我们可以实现一个功能强大的商品标签识别系统。希望本文提供的内容能够为大家提供有价值的帮助。

YOLO 474

102、栅极驱动芯片选型与设计

文章摘要 本文分享了栅极驱动芯片选型与设计的实战经验。通过一次因驱动芯片选型不当导致的炸管事故,作者总结了栅极驱动芯片选型的五个关键参数:峰值驱动电流、驱动电压范围、传播延迟匹配、欠压锁定和隔离等级。文章详细分析了自举电路设计中的常见陷阱,以及栅极电阻对开关特性的影响,并强调了PCB布局布线的重要性。最后,作者提供了七条实用建议,包括避免通用型驱动芯片、关注CMTI参数、使用插件电阻等。核心观点是:栅极驱动设计需要综合考虑参数匹配、电路布局和实际调试,示波器实测波形是验证设计的唯一标准。

2401_88858637的博客 44

C#/.NET/.NET Core优秀项目框架推荐

YuebonCore基于.Net5.0的权限管理及快速开发框架,前后端分离,核心模块包括:组织机构、角色用户、权限授权、多系统、多应用管理、定时任务、业务单据编码规则、代码生成器等,整合应用最新技术包括Asp.NetCore MVC、EF、Dapper、AutoFac、WebAPI、Swagger、Vue等。Util是一个.net core平台下的应用框架,旨在提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,第三方业务接口封装,配套代码生成模板,权限等组成。

m0_56069948的博客 1万+

云原生监控:Prometheus+Grafana监控Nginx实战

在云原生环境中,应用的高可用性和性能优化至关重要。Nginx作为一款广泛使用的高性能Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,对其进行有效的监控能够及时发现潜在问题,保障服务的稳定运行。本文章的目的是详细介绍如何使用Prometheus和Grafana构建一套完整的监控系统来监控Nginx,范围涵盖从环境搭建、数据采集、存储到可视化展示的整个流程。

AI云原生与云计算技术学院 1574

C#/.NET/.NET Core优秀项目和框架2025年2月简报

公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。追逐时光者,第一时间获取每周精选分享资讯🔔)。docs/DotNet/DotNetProjectMonthly.md · 追逐时光者/DotNetGuide - Gitee.com。

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 1424

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C#/.NET/.NET Core优秀项目和框架2023年8月简报

公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址追逐时光者,第一时间获取每周精选分享资讯🔔)。📈C# GitHub趋势榜🎁C#/.NET/.NET Core项目宝库组织🔔C#/.NET/.NET Core优秀项目和框架精选。

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 1159

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

.net实战项目零基础学习视频教程,.net就业课程网络教学

.net实战项目零基础学习视频教程,.net就业课程网络教学 推荐一套从零基础开始学习.net开发的教程,在线上课,不影响正常上班,只需要半年就能让自己成为.net开发工程师的大牛 1.从.NET负基础开始讲起,内容贯穿C#语法基础,新语法特性、网页技术,数据库技术,客户端技术,Winform,WPF,ASP.NET,MVC等众多内容,成体系,所有的内容零基础,讲师手把手教学,在线

xkqueen2的专栏 1973

作为一名.NET工程师应该具备哪些技能呢?

申明:此帖为搬运贴,原地址为 https://www.houxue.com/news-1024587/  一、.NET框架   开发人员应该熟悉.NET FrameWork体系结构和基本原理,熟悉CLR(公共语言运行时)和MSIL(中间语言),熟悉.NET框架中的委托、线程、序列化、集合、垃圾回收机制、反射等内容。(NET框架的博大精深,美丽而深不可测。)   二、面向对象软件开发   开...

戮筱沫博客 2537

微信公众平台整合开发实战教程 微信开发教程

《ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)》 课程讲师:57Code  课程分类:ASP.NET MVC 适合人群:中级 课时数量:29课时 用到技术:深入MVC开发模式、C#核心语言特性、C#核心语言特性(二)、视图引擎Razor 涉及项目:体育商店、微信公众平台开发 咨询QQ:13371

oppooppp的专栏 778

VS.NET2010 C#开发的微信公众平台源码

C#.NET微信公众平台源码,功能齐全 会员卡,微商城,微营销等等 源码已集成目前市场主流功能,并实时更新,应用商店更有大量贴心/实用/酷炫功能和模板可供自主添加 下载源码网站http://www.zhyin.com 演示地址http://cx010108.zhyin.com/admin/ 联系QQ:11851298

lovebbsjs88的专栏 1325

Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引

Senparc.WeixinSDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持。 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起分享。也欢迎大家的补充! 1、开源项目:https://github.com/JeffreySu/WeiXinMPSDK 2、微信技术交流社区:http://weixin.senparc.com/Q...

aifangzsrxp4574的专栏 198

C#/.NET/.NET Core优秀项目和框架8月简报

前言公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精...

dotNET跨平台 229

C#(Net)软件开发常用工具汇总,提高你的开发效率

C#(Net)软件开发常用工具汇总,提高你的开发效率 写代码也要读书,爱全栈,更爱生活。每日更新原创IT编程技术及日常实用技术文章。 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下。 更多原创教程,关注微信公众平台:做全栈攻城狮。及做全栈攻城狮官网:www.8z5.net 本文章由做全栈攻城狮,原创首发,如有转载,请声明出处。小编微信:aiquanzh...

weixin_30578677的博客 1827
上一篇: C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
下一篇: 设置Session永不过期,Session有效时间的问题
cuoban
博客等级 码龄24年 239粉丝 13原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值