C# 在ASP.net Azure部署期间无法连接到任何指定的MySQL主机
在我的ASP.net Web应用程序中,我使用MySQL workbench构建了一个MySQL数据库,并通过“Azure for MySQL数据库”资源组将其连接到Azure。 以下是在Web.config中编写的数据库连接字符串C# 在ASP.net Azure部署期间无法连接到任何指定的MySQL主机,c#,mysql,asp.net,.net,azure,C#,Mysql,Asp.net,.net,Azure,在我的ASP.net Web应用程序中,我使用MySQL workbench构建了一个MySQL数据库,并通过“Azure for MySQL数据库”资源组将其连接到Azure。 以下是在Web.config中编写的数据库连接字符串 <add name ="AzureCon" connectionString="Server={myserver}; Port=3306; Database={mydatabase}; Uid={myuser}; Pwd={my
<add name ="AzureCon" connectionString="Server={myserver}; Port=3306; Database={mydatabase}; Uid={myuser}; Pwd={mypassword}; SslMode=Preferred;"/>
但是,当我使用Azure发布web应用程序时,我得到的唯一错误是:
无法连接到任何指定的MySQL主机
描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源
异常详细信息:MySqlConnector.MySqlException:无法连接到任何指定的MySQL主机
源错误:
在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别
堆栈跟踪:
[MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.]
MySqlConnector.Core.<ConnectAsync>d__68.MoveNext() +1567
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) +26
MySqlConnector.Core.<GetSessionAsync>d__10.MoveNext() +2632
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +27
MySqlConnector.Core.<GetSessionAsync>d__10.MoveNext() +3745
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
System.Threading.Tasks.ValueTask`1.get_Result() +121
MySqlConnector.<CreateSessionAsync>d__115.MoveNext() +696
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
MySqlConnector.<OpenAsync>d__27.MoveNext() +977
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
MySqlConnector.MySqlConnection.Open() +61
Hangfire.MySql.MySqlStorage.CreateAndOpenConnection() +49
Hangfire.MySql.MySqlStorage..ctor(String connectionString, MySqlStorageOptions storageOptions) +140
CoPro.<GetHangfireServers>d__9.MoveNext() in C:\Users\smir\Desktop\Files and Folders\Programming\C#\CoPro\CoPro\Startup.cs:22
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +217
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +76
Hangfire.HangfireAspNet.StartInstances(Func`1 configuration) +130
Hangfire.HangfireAspNet.Use(Func`1 configuration) +13
Hangfire.HangfireAspNet.UseHangfireAspNet(IAppBuilder builder, Func`1 configuration) +21
CoPro.Startup.Configuration(IAppBuilder app) in C:\Users\smir\Desktop\Files and Folders\Programming\C#\CoPro\CoPro\Startup.cs:37
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +168
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +105
Owin.Loader.<>c__DisplayClass19_1.<MakeDelegate>b__0(IAppBuilder builder) +66
Owin.Loader.<>c__DisplayClass9_0.<LoadImplementation>b__0(IAppBuilder builder) +123
Microsoft.Owin.Host.SystemWeb.<>c__DisplayClass5_0.<InitializeBlueprint>b__0(IAppBuilder builder) +81
Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action`1 startup) +445
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action`1 startup) +40
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +70
System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +119
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +91
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +522
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +219
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +304
[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +659
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +89
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189
[MySqlException(0x80004005):无法连接到任何指定的MySQL主机。]
MySqlConnector.Core.d_u68.MoveNext()+1567
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)+102
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+64
System.Runtime.CompilerServices.TaskWaiter.ValidateEnd(任务任务)+26
MySqlConnector.Core.d_uu10.MoveNext()+2632
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+27
MySqlConnector.Core.d_uu10.MoveNext()+3745
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)+102
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+64
System.Threading.Tasks.ValueTask`1.get_Result()+121
MySqlConnector.d_uu115.MoveNext()+696
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)+102
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+64
MySqlConnector.d_u27.MoveNext()+977
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)+102
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+64
MySqlConnector.MySqlConnection.Open()+61
Hangfire.MySql.MySqlStorage.CreateAndOpenConnection()+49
Hangfire.MySql.MySqlStorage..ctor(字符串连接字符串、MySqlStorageOptions存储选项)+140
C:\Users\smir\Desktop\Files and Folders\Programming\C\CoPro\CoPro\Startup.cs:22中的CoPro.d_u9.MoveNext()
System.Linq.Buffer`1..ctor(IEnumerable`1源)+217
System.Linq.Enumerable.ToArray(IEnumerable`1源)+76
Hangfire.HangfireAspNet.StartInstances(函数'1配置)+130
Hangfire.HangfireAspNet.Use(Func`1配置)+13
Hangfire.HangfireAspNet.UseHangfireAspNet(IAppBuilder builder,Func`1配置)+21
C:\Users\smir\Desktop\Files and Folders\Programming\C\CoPro\CoPro\Startup.cs:37中的CoPro.Startup.Configuration(IAppBuilder应用程序)
[TargetInvocationException:调用的目标已引发异常。]
System.RuntimeMethodHandle.InvokeMethod(对象目标、对象[]参数、签名符号、布尔构造函数)+0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象obj,对象[]参数,对象[]参数)+168
System.Reflection.RuntimeMethodInfo.Invoke(对象obj、BindingFlags invokeAttr、绑定器绑定器、对象[]参数、CultureInfo区域性)+105
Owin.Loader.c_uuu显示类19_1.b_uu0(IAppBuilder)+66
Owin.Loader.c_uuu显示类9_0.b_uu0(IAppBuilder)+123
Microsoft.Owin.Host.SystemWeb.c__显示类5_0.b__0(IAppBuilder)+81
初始化(操作'1启动)+445
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(操作'1启动)+40
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()+70
System.Threading.LazyInitializer.EnsureInitializedCore(T&target,Boolean&initialized,Object&syncLock,Func`1 valueFactory)+119
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication上下文)+91
System.Web.HttpApplication.registereventsubscriptionswithis(IntPtr-appContext,HttpContext-context,MethodInfo[]handlers)+522
System.Web.HttpApplication.InitSpecial(HttpApplicationState,MethodInfo[]处理程序,IntPtr-appContext,HttpContext-context)+176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr-appContext,HttpContext-context)+219
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+304
[HttpException(0x80004005):调用目标已引发异常。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+659
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+89
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext上下文)+189
我正在使用其他数据库或连接
与Azure资源组一样,我更新了防火墙安全性,并为所有IPv4地址添加了“允许所有”规则
MySQL在本地运行良好
以下是我在Azure数据库MySQL服务器中的防火墙设置
这是MySQL工作台中我的连接中的“用户和特权”选项卡
注意:在将MySQL连接到Azure之前问题就已经存在了您是否能够在本地调试时进行连接?是的,它工作良好只是为了消除任何悬而未决的结果,请确认连接字符串格式:
Server={myserver}.MySQL.database.Azure.com;端口=3306;数据库={mydatabase};Uid={myuser}@{myserver};Pwd={mypassword};SslMode=首选代码>没错。这是字符串格式。您提到的每个元素都已正确放置。完成。我上传了截图
[MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.]
MySqlConnector.Core.<ConnectAsync>d__68.MoveNext() +1567
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) +26
MySqlConnector.Core.<GetSessionAsync>d__10.MoveNext() +2632
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +27
MySqlConnector.Core.<GetSessionAsync>d__10.MoveNext() +3745
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
System.Threading.Tasks.ValueTask`1.get_Result() +121
MySqlConnector.<CreateSessionAsync>d__115.MoveNext() +696
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
MySqlConnector.<OpenAsync>d__27.MoveNext() +977
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +102
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +64
MySqlConnector.MySqlConnection.Open() +61
Hangfire.MySql.MySqlStorage.CreateAndOpenConnection() +49
Hangfire.MySql.MySqlStorage..ctor(String connectionString, MySqlStorageOptions storageOptions) +140
CoPro.<GetHangfireServers>d__9.MoveNext() in C:\Users\smir\Desktop\Files and Folders\Programming\C#\CoPro\CoPro\Startup.cs:22
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +217
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +76
Hangfire.HangfireAspNet.StartInstances(Func`1 configuration) +130
Hangfire.HangfireAspNet.Use(Func`1 configuration) +13
Hangfire.HangfireAspNet.UseHangfireAspNet(IAppBuilder builder, Func`1 configuration) +21
CoPro.Startup.Configuration(IAppBuilder app) in C:\Users\smir\Desktop\Files and Folders\Programming\C#\CoPro\CoPro\Startup.cs:37
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +168
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +105
Owin.Loader.<>c__DisplayClass19_1.<MakeDelegate>b__0(IAppBuilder builder) +66
Owin.Loader.<>c__DisplayClass9_0.<LoadImplementation>b__0(IAppBuilder builder) +123
Microsoft.Owin.Host.SystemWeb.<>c__DisplayClass5_0.<InitializeBlueprint>b__0(IAppBuilder builder) +81
Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action`1 startup) +445
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action`1 startup) +40
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +70
System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +119
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +91
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +522
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +219
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +304
[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +659
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +89
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189