晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常:

Unable to connect to any of the specified MySQL hosts.
一开始以为数据库出了错误,去检查数据库状态正常,用Mysql workbench在远程连接也正常。感觉有点奇怪。
又认真看了下,发现这个异常下面还有个提示:

INNER EXCEPTION:
Sequence contains more than one matching element

这是个什么鬼,网上搜索了一下,发现这个是mysql.data组件的一个bug
大意是在连接字符串使用了www.xxx.com这样的域名来连接mysql.而mysql组件在解析时发现IP与以前访问的Ip不一致,于是拒绝连接。

解决的办法有几个:

As I see it, you have three options:
1) Downgrade to 8.0.17.
2) Use your workaround of performing DNS resolution yourself, then using an IP address in the connection string.
3) Switch MySQL libraries (to MySqlConnector).

如我所见,您有三个选择:
1)降级至8.0.17。
2)使用您自己执行DNS解析的解决方法,然后在连接字符串中使用IP地址。
3)切换MySQL库(到MySqlConnector)。

我选择把连接字符串更改成IP的形式访问,问题得到了解决。
但是这显然不是一个最终解决的办法。

官方提出:

Posted by developer:

Fixed as of the upcoming MySQL Connector/NET 8.0.20 release, and here's the proposed changelog entry from the documentation team:

A connection made to a named server with multiple DNS entries pointing to
different IP addresses for the same server generated an exception. Now,
only the first element is returned when multiple elements are found.

Thank you for the bug report.
在即将推出的MySQL Connector / NET 8.0.20版本中已修复,这是文档团队建议的changelog条目:

与指定服务器建立的连接,其中有多个DNS条目指向
同一服务器的不同IP地址生成异常。 现在,
找到多个元素时,仅返回第一个元素。

我在nuget服务器里看了下,8.0.20还没有上线。只有等上线后再解决吧。

处理asp.net core连接mysql的一个异常Sequence contains more than one matching element的更多相关文章

  1. Asp.Net Core 连接Mysql

    上一篇文章里最后在VS里测试是没有问题的,但是在Windows命令行模式下会报错. 首先用dotnet restore命令的时候会出现error: 然后用dotnet run会出现警告,但是依旧会成功 ...

  2. Visual Studio Code和Docker开发asp.net core和mysql应用

    Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

  3. 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】

    Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...

  4. 第八节:EF Core连接MySql数据库

    一. 前提 1.安装EF Core连接MySQL的驱动,这里有两类: (1).Oracle官方出品:MySql.Data.EntityFrameworkCore (版本:8.0.17) (2).其他第 ...

  5. 006.Adding a controller to a ASP.NET Core MVC app with Visual Studio -- 【在asp.net core mvc 中添加一个控制器】

    Adding a controller to a ASP.NET Core MVC app with Visual Studio 在asp.net core mvc 中添加一个控制器 2017-2-2 ...

  6. asp.net core连接sqlserver

    开发环境:win7,vs2017,sqlserver2014 vs上建立一个asp.net core web项目和一个.net core的类库项目DBA 简单起见,在DBA项目中就一个类SqlServ ...

  7. ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作

    前言: 本章主要通过一个完整的示例讲解ASP.NET Core MVC+EF Core对MySQL数据库进行简单的CRUD操作,希望能够为刚入门.NET Core的小伙伴们提供一个完整的参考实例.关于 ...

  8. docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

    .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

  9. asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器

    文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...

随机推荐

  1. va_list、va_start和va_end使用

    我们知道va_start,va_arg,va_end是在stdarg.h中被定义成宏的,由于1.硬件平台的不同 2.编译器的不同,所以定义的宏也有所不同. 在ANSI C中,这些宏的定义位于stdar ...

  2. 安装与使用django-restframework

    django-restframework 一.安装与使用 1.安装 >: pip3 install djangorestframework 2.使用 在settings.py中注册: INSTA ...

  3. [LC] 82. Remove Duplicates from Sorted List II

    Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...

  4. try中定义的变量在finally中找不到

    凡是代码块中的变量,作用域都只在代码块中 https://blog.csdn.net/qq_20936333/article/details/81062966 问题: 解决:

  5. LeetCode Day 11

    LeetCode0021 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  6. PowerDesign15连接数据库并反向表结构详细

    10.0 sql2008 11.0 sql2010 这的服务器名称,复制到上面 这里的默认数据库不要改.Powerdesign会把自已的数据也存在默认的数据库里 一般不用改 测试 成功 这里ODBC的 ...

  7. Linux Ubuntu 查看IP

    一.第一种方式:ifconfig -a 1.打开命令终端:Crtl + Alt + T 2.执行命令:ifconfig -a 如果你没有安装net-tools工具,则出现如下显示: (没有找到'ifc ...

  8. string删除与查找erase,find

    s.erase( 指针位置 , 删除长度 ) 返回值修改后的string对象引用 find(string, int):第一个参数用来指示要查找的字符,第二个参数用来表示从字符串的何处开始查找子串(默认 ...

  9. Nginx笔记总结十八:nginx统计响应的http状态码信息(ngx-http-status-code-counter)

    编译:./configure --prefix=/usr/local/nginx --add-module=../ngx_http_status_code_counter-master make &a ...

  10. php--判断是否是手机端

    function is_mobile_request(){ $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTT ...