发布
社区首页 >问答首页 >“拒绝用户访问.”每第二次命中

“拒绝用户访问.”每第二次命中
EN

Stack Overflow用户
提问于 2016-07-13 22:13:00
回答 1查看 245关注 0票数 1

我正在尝试在.net核心1.0中使用。我使用的是mysql连接器:https://github.com/bgrainger/MySqlConnector

我知道连接器在alpha中,但我想知道在与dapper一起使用连接器时是否有类似的问题。

这是我的简单模型:

代码语言:javascript
代码运行次数:0
复制
        public List<GeneralModel> GetAllLists()
        {
            try
            {
                using (DbConnection connection = new MySqlConnection("Server=localhost;Database=lists;Uid=Unnamed;Pwd=lol;"))
                {
                    return connection.Query<GeneralModel>("SELECT * FROM lists.general").ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

这是控制器:

代码语言:javascript
代码运行次数:0
复制
    public IActionResult Index()
    {
        GeneralModel GenRepo = new GeneralModel();
        return View(GenRepo.GetAllLists());
    }

当我第一次转到索引页面时,它就能工作了。如果我刷新,我会得到一个“拒绝用户访问.”。我不知道是什么导致了这个错误。我不认为问题在我的代码中。

编辑:

我想问题在连接器中,因为这也是在刷新后返回错误:

代码语言:javascript
代码运行次数:0
复制
            List<GeneralModel> lists = new List<GeneralModel>();
            using (DbConnection connection = new MySqlConnection("Server=localhost;Database=lists;Uid=Unnamed;Pwd=lol;"))
            {
                using (DbCommand myCommand = connection.CreateCommand())
                {
                    myCommand.CommandText = "SELECT * FROM lists.general";

                    connection.Open();
                    using (DbDataReader myReader = myCommand.ExecuteReader())
                    {
                        while (myReader.Read())
                        {
                            GeneralModel tmpGen = new GeneralModel();
                            tmpGen.name = myReader["name"].ToString();
                            tmpGen.description = myReader["description"].ToString();
                            tmpGen.language = myReader["language "].ToString();

                            lists.Add(tmpGen);
                        }
                    }
                    connection.Close();
                }
            }
            return lists;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-18 04:53:02

此错误是由MySqlConnector未正确处理封包的快速路径造成的。

MySQL服务器(版本5.6和5.7)似乎不会立即接受用户的凭据,但总是返回一个身份验证方法交换请求包。MariaDB (您正在使用的)实现了快速路径,并立即返回一个OK数据包。

连接器现在已经更新以处理此响应,并且应该停止抛出虚假的“拒绝访问”异常。修复0.1.0-alpha09

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38362581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档