You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 3.1 配置NServiceBus对接MySql报port关键字不支持错误

错误原因
  1. 核心配置不匹配:你在NServiceBus中为持久化层配置了MySql方言的SqlPersistence,但传输层选择了SqlServerTransport,该组件是专为SQL Server设计,内部采用SQL Server专属的连接字符串解析逻辑,无法识别MySql连接字符串中的port、AllowUserVariables等特有参数,所以抛出参数不支持的错误。
  2. EF Core可正常连接的原因:你的EF Core使用了MySql专属驱动(如MySqlConnector、Pomelo.EntityFrameworkCore.MySql),可正确解析MySql格式的连接字符串,和NServiceBus传输层误用SQL Server组件的场景无关。
解决思路
  • 方案1:统一技术栈使用MySql:若整套服务都基于MySql搭建,将SqlServerTransport替换为NServiceBus的MySql专属传输实现,为持久化和传输层传入同一个MySql连接字符串即可,两者都会通过MySql驱动解析参数,不会再出现识别错误。
  • 方案2:拆分不同组件的连接配置:若确实需要传输层用SQL Server、持久化用MySql,给两个组件分别传入对应数据库格式的连接字符串:给SqlPersistence传入原MySql连接字符串,给SqlServerTransport传入符合SQL Server规范的连接字符串(SQL Server端口通过server=地址,端口号格式配置,无需单独port参数)。
  • 校验依赖:确认项目已安装MySql对应的NServiceBus扩展包以及MySqlConnector驱动包,避免驱动缺失导致的二次解析问题。

内容的提问来源于stack exchange,提问作者mkcast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:57:04