gpt4 book ai didi

c# - 无法从 Azure 网站上的 MVC4 应用程序连接到 MySQL

转载 作者:行者123 更新时间:2023-11-30 23:15:42 25 4
gpt4 key购买 nike

我正在尝试从部署在 Azure 网站中的 ASP.NET MVC4 Web 应用程序(默认为“互联网”)连接到未托管在 Azure 上的现有 MySQL 数据库。我尽可能简化以说明问题:

1) 我通过 Nuget 添加到我的 MVC 应用程序 MySql.Data 和 MySql.Web
2) 我在默认的 HomeController 中的 About() 方法中编写了以下难看的代码:

public ActionResult About()
{
try
{
ViewBag.Message = "Your app description page.";

Trace.TraceInformation("Connection String");
var connStr =
"server=blah.blah.com;user=someone;database=somedatabase;port=3306;password=password;";

Trace.TraceInformation("Connection");
var connection = new MySqlConnection(connStr);

Trace.TraceInformation("Open Connection");
connection.Open();

Trace.TraceInformation("Close Connection");
connection.Close();

return View();
}
catch (Exception ex)
{
Trace.TraceError("{0} / {1} / {2}", ex.Message, ex.StackTrace, ex.TargetSite);
throw;
}
}

当我调试时,它在我的本地机器上运行没有故障(我在检索数据时也没有问题),但是当我发布到 Azure 网站时,如果失败得很惨。生成的 Trace 如下:

2013-07-31T03:05:02  PID[20636] Information Connection String
2013-07-31T03:05:02 PID[20636] Information Connection
2013-07-31T03:05:02 PID[20636] Information Open Connection
2013-07-31T03:05:09 PID[20636] Error Can't get hostname for your address
2013-07-31T03:05:09 PID[20636] Error Can't get hostname for your address / at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at MvcTest.Controllers.HomeController.About() / MySql.Data.MySqlClient.MySqlPacket ReadPacket()

谁能帮我弄清楚我做错了什么?是否有特定原因导致 Azure 网站而非我的本地计算机失败?注意:我的本地计算机与 MySQL 数据库或类似的不在同一个网络上。

最佳答案

据我所知,问题是 MySQL 默认使用反向 DNS 查找,目前 Azure 不支持它:

Reverse DNS lookup on Windows Azure? Setting up reverse dns on windows azure?

看起来有可能turn off MySQL reverse DNS lookup , 但我还没有能够尝试它(现有的数据库不在我的控制之下)。

关于c# - 无法从 Azure 网站上的 MVC4 应用程序连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17961035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com