新闻详情

新闻详情

首页 / 资讯中心 / 详情

WeiXinMPSDK .NET 10 MVC 综合示例指南:基于 net10-mvc 部署与调试 Senparc.Weixin SDK 全平台模块

发布时间:2026/9/25 5:38:03来源:尧图网络
WeiXinMPSDK .NET 10 MVC 综合示例指南:基于 net10-mvc 部署与调试 Senparc.Weixin SDK 全平台模块
后端即时通讯金融科技【免费下载链接】WeiXinMPSDK微信全平台 .NET SDK Senparc.Weixin for C#支持 .NET Framework 及 .NET Core、.NET 10.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.项目地址https://gitcode.com/gh_mirrors/we/WeiXinMPSDK点击查看免费下载本文以 WeiXinMPSDK 仓库 Samples/All/net10-mvc 下的综合示例为主体系统讲解如何在 .NET 10.0 环境下部署、配置与调试 Senparc.Weixin SDK。你将掌握该示例的环境要求、解决方案结构、启动注册流程、多模块账号配置公众号、小程序、企业微信、微信支付、开放平台以及 MessageHandler 中间件接入方式并了解 SDK 源码与示例、单元测试之间的协作关系可直接用于搭建综合场景的微信全平台项目。项目定位一个集成了全平台微信模块的 .NET 10.0 示例net10-mvc目录下的 Senparc.Weixin.Sample.Net10 是 Senparc.Weixin SDK 各模块集成在一起的综合 Web 示例以 .NET 10.0 作为默认运行框架对应解决方案文件为 Senparc.Weixin.Sample.Net10.sln。按仓库 Samples/All/readme.md 的说明net10-mvc是当前推荐、快速更新的示例可用于直接部署测试。与之并列的其他示例包括console命令行注册过程演示、net45-mvc.NET Framework 4.6.2 MVC 示例以及各单模块 SampleMP、Work、WxOpen、TenPayV2、TenPayV3 等。net8-mvc等旧框架示例已在仓库说明中标记为停止更新因此学习 .NET 10.0 之上集成微信能力应优先以本示例为起点。环境要求开发工具Visual Studio 2022或更新版本。运行时安装 .NET 10.0 SDK。编译前置条件由于/src目录下的 SDK 源码采用了条件编译默认情况下开发环境需要同时安装 .NET Framework 4.6.2 与 .NET 10.0才能完整编译成功。这一点在项目 readme 中有明确提示是首次拉取仓库编译时最常见的坑。示例默认集成公众号、微信支付、企业微信、小程序等多个模块模块间通过注释、文件夹等方式区分代码可读性有保障非常适合作为综合场景实际项目的参考基线。若只想学习某一个单一模块的用法可直接查看 Samples 目录下对应模块的独立 Sample或查看各模块的单元测试项目。解决方案结构一个仓库、多目标框架、多项目分组打开Senparc.Weixin.Sample.Net10.sln可以看到解决方案按用途做了清晰的分组NestedProjects 配置大致包含分组内容说明01 LibrariesSDK 各模块源码项目Senparc.Weixin、Senparc.Weixin.MP、Senparc.Weixin.Work、Senparc.Weixin.Open、Senparc.Weixin.WxOpen、Senparc.Weixin.TenPay、Senparc.Weixin.TenPayV3、Senparc.Weixin.AspNet、Senparc.WebSocket、缓存库Redis / CsRedis / Memcached / Dapr等均以net10为目标的 csproj 引用进来02 Tests单元测试项目Senparc.WeixinTests、Senparc.Weixin.MP.Test、Senparc.Weixin.Open.Test、Senparc.Weixin.Work.Test、Senparc.Weixin.TenPay.Test、Senparc.Weixin.TenPayV3.Test、Senparc.Weixin.WxOpen.Tests等03 Samples.net10示例项目完整综合示例进阶、不同微信模块 SamplesMP.Simple、Work、WxOpen、TenPayV2、TenPayV3、人工智能AI分组AspNet / MCP / Cache / TenPay中间件、MCP 服务与缓存扩展如Senparc.Weixin.MP.Middleware、Senparc.Weixin.MCP.Server、各缓存策略库Web 主项目 Senparc.Weixin.Sample.net10.csproj 的TargetFramework为net10.0通过ProjectReference引用共享公共代码库Senparc.Weixin.Sample.CommonService其下有对应 net10 版本的 csproj并通过SharedProject方式导入Senparc.Weixin.Sample.Shared共享静态资源wwwroot。值得注意的是该 csproj 同时保留了多目标编译能力SDK 各模块项目均同时维护net8.csproj与net10.csproj部分含src.csproj这正是 readme 所述支持 .NET 4.6.2、.NET Standard 2.1、.NET 10.0 不同版本库编译并可在 Release 条件下生成 nuget 包的工程基础。启动流程与依赖注入注册Program.cs 与 Startup.cs 的职责分工示例采用经典的Program.csStartup.cs结构。Program.cs 的核心在于通过UseServiceProviderFactory(new SenparcServiceProviderFactory())引入 Senparc 自定义服务工厂这是 Senparc.Weixin 在 ASP.NET Core 中完成容器扩展的基础随后UseStartupStartup()进入启动配置。真正的注册逻辑集中在 Startup.cs其注册顺序本身就是一份可复用的最佳实践清单基础服务AddSession()、AddControllersWithViews().AddNewtonsoftJson()、AddSingletonITempDataProvider, CookieTempDataProvider()、AddMemoryCache()使用本地缓存必须添加、AddSignalR()。IIS 部署时还显式开启AllowSynchronousIO。Senparc 全家桶注册链式services.AddSenparcWeixin(Configuration, Env) // Senparc.Weixin 注册必须 .AddSenparcWebSocketCustomNetCoreWebSocketMessageHandler() // WebSocket 注册按需 .AddSenparcAI(Configuration) // Senparc.AI提供 AI 能力可选管道配置UseEnableRequestRewind()、UseSession()、异常页/HSTS、静态文件Debug 模式下额外映射Senparc.Weixin.Sample.Shared/wwwroot共享静态目录。全局注册UseSenparcGlobal(env, senparcSetting.Value, globalRegister { ... }, true)——这是 CO2NET 全局注册必须调用内部完成默认缓存命名空间、Redis/Memcached 缓存策略、TraceLog 日志、APM 状态统计等配置。微信注册UseSenparcWeixin(senparcWeixinSetting.Value, (weixinRegister, weixinSetting) { ... })内部按缓存优先原则依次注册各模块账号详见下文。缓存策略切换内存 / Redis / MemcachedStartup.cs通过UseRedis()与UseMemcached()两个辅助方法判断配置字符串是否仍是占位符默认值#{...}#从而决定是否启用对应分布式缓存RedisCsRedis 驱动Senparc.CO2NET.Cache.CsRedis.Register.SetConfigurationOption(redisConfigurationStr)后调用UseKeyValueRedisNow()立即切换为键值对缓存策略注释中同时保留UseHashRedisNow()与 StackExchange.Redis 驱动的替换写法。Memcachedapp.UseEnyimMemcached()后由Senparc.CO2NET.Cache.Memcached.Register完成注册切换。若都不启用则回退到内存缓存。微信侧缓存与全局缓存一一对应weixinRegister.UseSenparcWeixinCacheCsRedis()、UseSenparcWeixinCacheRedis()、UseSenparcWeixinCacheMemcached()。注意注释中的关键提示若使用了非本地缓存却不执行对应注册块会收到当前扩展缓存策略没有进行注册的异常微信缓存注册必须放在配置开头以确保其他可能依赖缓存的注册过程使用正确配置。多模块账号注册公众号、小程序、企业微信、支付、开放平台UseSenparcWeixin回调中以链式方式注册各类账号均可注册多个name 参数用于标识公众号RegisterMpAccount(senparcWeixinSetting.Value, 【盛派网络小助手】公众号)小程序RegisterWxOpenAccount(senparcWeixinSetting.Value, 【盛派网络小助手】小程序)以及通过Items[第二个小程序]注册第二个小程序演示了 appsettings 多重配置的用法企业微信RegisterWorkAccount(senparcWeixinSetting.Value, 【盛派网络】企业微信)、RegisterWorkAccount(senparcWeixinSetting.Value[企业微信审批], ...)微信支付 V2旧版RegisterTenpayOld(...)V3RegisterTenpayV3(...)与RegisterTenpayApiV3(...)开放平台RegisterOpenComponent(senparcWeixinSetting.Value, getComponentVerifyTicketFunc, getAuthorizerRefreshTokenFunc, authorizerTokenRefreshedFunc, 【盛派网络】开放平台)——示例中这三个委托基于本地文件~/App_Data/OpenTicket、~/App_Data/AuthorizerInfo读写 component_verify_ticket 与 authorizer_refresh_token注释明确说明仅用于演示部署分布式系统请改用其他存储。此外代码注释给出了绕开 Startup 的随处注册方式AccessTokenContainer.Register(appId, appSecret, name)公众号/小程序与ComponentContainer.Register()开放平台便于在业务代码中动态注册账号。MessageHandler 中间件不再需要独立 ControllerConfigure后半段演示了 SDK 提供的 MessageHandler 中间件用法用三段中间件取代了传统独立的接收消息 Controller// 公众号功能最全的演示 app.UseMessageHandlerForMp(/WeixinAsync, CustomMessageHandler.GenerateMessageHandler, options { // [必须] 根据 context 动态提供 Token、EncodingAESKey 等参数 options.AccountSettingFunc context senparcWeixinSetting.Value; // 异步方法未重写时回退到同步方法 options.DefaultMessageHandlerAsyncEvent DefaultMessageHandlerAsyncEvent.SelfSynicMethod; options.EnableRequestLog true; // 默认即为 true options.EnbleResponseLog true; options.AggregateExceptionCatch ex false; // 异常回调 // 超长文本回复分批处理调用客服接口 options.TextResponseLimitOptions new TextResponseLimitOptions(2048, senparcWeixinSetting.Value.WeixinAppId); }); // 小程序简化 app.UseMessageHandlerForWxOpen(/WxOpenAsync, CustomWxOpenMessageHandler.GenerateMessageHandler, options { ... }); // 企业微信最简化 app.UseMessageHandlerForWork(/WorkAsync, WorkCustomMessageHandler.GenerateMessageHandler, o o.AccountSettingFunc c senparcWeixinSetting.Value);AccountSettingFunc支持三种写法使用默认配置、通过名称取指定配置、结合context.Request参数如 URL 中的id动态匹配多账号配合示例的多账号注册能力可轻松支撑多租户场景。配置文件详解appsettings.json 的三层配置体系示例的 appsettings.json 是理解整个 SDK 配置体系的钥匙包含三个顶层节点。SenparcSettingCO2NET 全局配置配置项默认值/说明IsDebugtrue调试开关影响日志输出等行为DefaultCacheNamespaceDefaultCache缓存命名空间Cache_Redis_Configuration#{Cache_Redis_Configuration}#Redis 连接字符串支持localhost:6379或带密码与参数的完整格式如localhost:6379,passwordsenparc,connectTimeout1000,connectRetry2,syncTimeout10000,defaultDatabase3Cache_Memcached_Configuration#{Cache_Memcached_Configuration}#Memcached 连接配置SenparcUnionAgentKey#{SenparcUnionAgentKey}#文件注释强调这些 key 会被自动识别不要修改 key 名称不用的参数可以删除但修改 key 后无法自动识别。SenparcWeixinSetting微信全平台账号配置按模块组织所有未配置的值统一使用#{...}#占位符Azure DevOps 默认占位符格式配置明文时应删除#与{}。核心字段公众号Token、EncodingAESKey、WeixinAppId、WeixinAppSecret小程序WxOpenAppId、WxOpenAppSecret、WxOpenToken、WxOpenEncodingAESKey企业微信WeixinCorpId、WeixinCorpAgentId、WeixinCorpSecret、WeixinCorpToken、WeixinCorpEncodingAESKey微信支付 V2WeixinPay_PartnerId、WeixinPay_Key、WeixinPay_AppId、WeixinPay_AppKey、WeixinPay_TenpayNotify微信支付 V3TenPayV3_AppId、TenPayV3_AppSecret、TenPayV3_SubAppId、TenPayV3_SubAppSecret、TenPayV3_MchId、TenPayV3_SubMchId子商户没有可留空、TenPayV3_Key、TenPayV3_CertPath证书路径支持物理路径或~/App_Data/cert/...相对路径必须放在受保护目录、TenPayV3_CertSecret、TenPayV3_TenpayNotify、TenPayV3_PrivateKey证书私钥、TenPayV3_SerialNumber、TenPayV3_ApiV3Key、TenPayV3_WxOpenTenpayNotify、EncryptionType加密类型RSA/SM按商户平台申请证书类型选择大部分情况为 RSA开放平台Component_Appid、Component_Secret、Component_Token、Component_EncodingAESKey扩展/代理AgentUrl、AgentToken、SenparcWechatAgentKeyItems节点用于多账号配置Key 不可重复每一组账号的格式与顶层对应模块一致。示例中预置了第二个公众号、第三个公众号、第二个小程序、第四个公众号对应小程序对应微信支付组合演示以及企业微信审批等多组配置并与Startup.cs中的RegisterWorkAccount(senparcWeixinSetting.Value[企业微信审批], ...)一一对应展示了同进程托管多个微信账号的标准姿势。SenparcAiSettingAI 能力配置IsDebug与AiPlatform枚举字符串值示例为AzureOpenAI需按实际平台修改决定使用哪套密钥NeuCharAIKeys、AzureOpenAIKeys、OpenAIKeys分别对应三套供应商配置各自含ApiKey、Endpoint、ModelName.Chat等Items节点可再挂载额外模型如AzureDallE3的TextToImage: dall-e-3。结合Startup.cs中的AddSenparcAI(Configuration)与registerService.UseSenparcAI()即可在示例中启用 AI 对话能力。示例功能导览按模块划分的 Controller 与公共代码Web 项目 Controllers 目录按微信模块分子目录组织与 readme用文件夹区分模块的说明一致Weixin/MP公众号能力最全包含WeixinController消息收发、WeixinAsyncController、WeixinController_OldPost、OAuth2Controller、JSSDK、MenuController、MediaController素材、AnalysisController数据分析、DeviceController设备、SubscribeMsgController订阅消息、AsyncMethodsController异步方法、WebSocketController等 12 个控制器。Weixin/Open开放平台与第三方平台授权。Weixin/TenPay微信支付。Weixin/Work企业微信。Weixin/WxOpen小程序。Weixin/ThirdPartyAuth第三方授权。公共业务代码集中在 Senparc.Weixin.Sample.CommonService其中的CustomMessageHandler含事件处理、WorkMessageHandlers、WxOpenMessageHandler、OpenMessageHandler、WebSocket处理器以及TemplateMessage模板消息、OpenTicket开放平台票据等可以在 .NET Framework / .NET 8.0 / .NET 10.0 / WebForms 等不同框架的 Sample 中复用——这正是多框架 Sample 共享同一套业务逻辑的工程技巧。AI 相关代码也已整合进该公共库的 AI 目录。历史框架示例与版本演进net8-mvc 与 net45-mvcnet10-mvc的 readme 明确给出了旧框架示例的入口使用 .NET 8.0 Demo见 net8-mvc目录内同样提供Senparc.Weixin.Sample.Net8.sln与Senparc.Weixin.Sample.Net8项目。按 Samples/All/readme.md 的标记net8 及更早的 net7/net6 示例已停止更新仅 net10 保持快速更新。使用 .NET Framework 4.5 Demo见 net45-mvcSenparc.Weixin.MP.Sample。注意该 .NET Framework 4.5 Sample 自2019 年 9 月 1 日起停止小版本更新大版本更新仍保持同步.NET 4.5 所有库更新不受影响且自 2022 年 5 月 4 日起该示例已升级为 .NET Framework 4.6.2并将随官方生命周期逐步迁移到 4.8目录名net45仅为历史沿用。无论选择哪个解决方案类库功能都是一致的——这是 Senparc.Weixin 多目标框架策略的体现同一套 API 在 .NET Framework、.NET 8.0、.NET 10.0 上保持一致。调试与二次开发要点以源码调试 SDK解决方案直接引用了/src下的各模块源码项目如 src/Senparc.Weixin、src/Senparc.Weixin.MP 等因此断点可直接进入 SDK 内部方便学习容器注册、AccessToken 缓存、消息处理等底层实现。以单元测试验证行为仓库为每个模块都配备了测试项目例如 Senparc.Weixin.MP.Test、Senparc.Weixin.Open.Test、Senparc.Weixin.Work.Test、Senparc.Weixin.TenPayV3.Test、Senparc.Weixin.WxOpen.Tests。阅读单模块用法时可结合这些测试用例它们比综合示例更聚焦。单模块快速上手若只想跑通某个模块仓库在 Samples/MP、Samples/Work、Samples/WxOpen、Samples/TenPayV2、Samples/TenPayV3 等目录提供了各模块的独立 Sample复杂度远低于综合示例。部署测试示例可直接部署运行普通功能无需改配置即可体验涉及微信后台回调、支付、开放平台等高级功能时需按上文appsettings.json的字段说明替换为自己的appId、Token、EncodingAESKey、支付证书等真实参数并将回调地址在微信公众平台/商户平台完成配置。结语net10-mvc综合示例把公众号、小程序、企业微信、微信支付V2/V3、开放平台、WebSocket、AI 等能力收敛到一个 .NET 10.0 MVC 项目中其Startup.cs的注册顺序、appsettings.json的分层配置与多账号Items机制、MessageHandler 中间件用法构成了可直接迁移到生产项目的微信全平台脚手架。建议在动手改造前先在源码与单元测试中确认各模块的调用契约再对照本示例逐项替换配置即可快速搭建属于你自己的微信综合业务系统。赞分享后端即时通讯金融科技【免费下载链接】WeiXinMPSDK微信全平台 .NET SDK Senparc.Weixin for C#支持 .NET Framework 及 .NET Core、.NET 10.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.项目地址https://gitcode.com/gh_mirrors/we/WeiXinMPSDK点击查看免费下载相关推荐LanzouAPI终极指南如何3秒获取蓝奏云高速直链LanzouAPI终极指南如何3秒获取蓝奏云高速直链 还在为蓝奏云文件下载的繁琐流程而烦恼吗每次点击链接都要经过多个页面跳转等待时间漫长操作效率低下今后端即时通讯金融科技Senparc.Weixin SDK .NET Framework 示例项目net45-mvc完全指南编译、配置与全模块实战Senparc.Weixin SDK .NET Framework 示例项目net45 mvc完全指南编译、配置与全模块实战 本文围绕 WeiXinMPS后端即时通讯金融科技WeiXinMPSDK 综合示例实战指南基于 Senparc.Weixin.Sample.Net8 的全平台微信模块集成与 AI 对话能力WeiXinMPSDK 综合示例实战指南基于 Senparc.Weixin.Sample.Net8 的全平台微信模块集成与 AI 对话能力 本指南以 Senp后端即时通讯金融科技上一篇EmbedIO Web API控制器开发从入门到精通下一篇Chess-Challenge API详解Board、Move、Timer等核心类使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Xred木马深度剖析:传播链路、窃密行为与终端应急响应实战 2026/9/25 6:04:49

Xred木马深度剖析:传播链路、窃密行为与终端应急响应实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenCV text 模块 Windows 构建指南:用 git-bash 与 CMake 从源码编译 Tesseract 依赖链 2026/9/25 6:04:43

OpenCV text 模块 Windows 构建指南:用 git-bash 与 CMake 从源码编译 Tesseract 依赖链

计算机视觉图像处理机器学习 【免费下载链接】opencv_contrib 项目地址: https://gitcode.com/gh_mirrors/ope/opencv_contrib 点击查看 免费下载 OpenCV 的 text(场景文本检测与识别)模块将开源 OCR 引擎 Tesseract 作为其识别后端&#xf…

阅读更多 →
VisiData 列系统深度指南:Column 计算引擎、类型系统与聚合器实战 2026/9/25 6:04:43

VisiData 列系统深度指南:Column 计算引擎、类型系统与聚合器实战

数据分析CLI数据可视化 【免费下载链接】visidata A terminal spreadsheet multitool for discovering and arranging data 项目地址: https://gitcode.com/gh_mirrors/vi/visidata 点击查看 免费下载 导读:本文围绕 VisiData 的 Column 体系展开&#…

阅读更多 →
Plannotator External Annotations API:把外部工具的标注实时推送到活动评审会话 2026/9/25 6:04:43

Plannotator External Annotations API:把外部工具的标注实时推送到活动评审会话

【免费下载链接】plannotator Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click. 项目地址: https://gitcode.com/gh_mirrors/pl/plannotator 点击查看 免费下载 Plannotator 的 E…

阅读更多 →
pylibcudf 字符串 API 实战指南:capitalize / title / is_title 的用法与底层原理 2026/9/25 6:04:42

pylibcudf 字符串 API 实战指南:capitalize / title / is_title 的用法与底层原理

数据分析数据工程机器学习 【免费下载链接】cudf cuDF - GPU DataFrame Library 项目地址: https://gitcode.com/gh_mirrors/cu/cudf 点击查看 免费下载 cuDF 的 pylibcudf 是 libcudf 的 Cython 绑定层,为 GPU 上的字符串处理提供直接且低开销的 Pyth…

阅读更多 →
Kubebuilder 项目路线图全景解读:2024–2026 战略规划与源码落地 2026/9/25 6:04:42

Kubebuilder 项目路线图全景解读:2024–2026 战略规划与源码落地

开发者工具代码生成CLI云原生后端 【免费下载链接】kubebuilder Kubebuilder - SDK for building Kubernetes APIs using CRDs 项目地址: https://gitcode.com/gh_mirrors/ku/kubebuilder 点击查看 免费下载 本指南以仓库 roadmap/ 目录中的官方路线图文档为核心&a…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉