System.ComponentModel.Win32Exception:从Azure VPN

时间:2018-01-22 05:54:48

标签: c# azure timeout azure-vpn

enter image description here我们有一个Azure应用服务,它尝试使用连接到本地SQL服务器 VPN classic(使用VNET配置)。

偶尔我们会收到以下错误:

System.Data.SqlClient.SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 等待操作超时。)---> System.ComponentModel.Win32Exception(0x80004005):等待操作超时

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,SqlCredential credential,Object providerInfo,String newPassword,SecureString newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,DbConnectionPool pool,String accessToken,Boolean applyTransientFaultHandling )

at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo,DbConnectionPool pool,DbConnection owningConnection,DbConnectionOptions userOptions)

在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool池,DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions userOptions)

at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)

at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)

at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& connection)

at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource`1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection)

at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource`1 retry,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& connection)

at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource`1 retry,DbConnectionOptions userOptions)

在System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource`1 retry,DbConnectionOptions userOptions)

在System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1重试)

在System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1重试)

在System.Data.SqlClient.SqlConnection.Open()

在Dapper.SqlMapper.d__11`1.MoveNext()

在System.Collections.Generic.List 1..ctor(IEnumerable 1集合)

在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)

at Dapper.SqlMapper.Query [T](IDbConnection cnn,String sql,Object param,IDbTransaction transaction,Boolean buffered,Nullable 1 commandTimeout, Nullable 1 commandType)

at SiSystems.ClientApp.Web.Domain.Repositories.UserRepository.FindByPrimaryEmail(String username)

at SiSystems.ClientApp.Web.Domain.Repositories.UserRepository.FindByName(String username)

at SiSystems.ClientApp.Web.Auth.UserStore。<> c__DisplayClass3_0.b__0()

在System.Threading.Tasks.Task`1.InnerInvoke()

在System.Threading.Tasks.Task.Execute()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.AspNet.Identity.TaskExtensions.CultureAwaiter`1.GetResult()

at Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at SiSystems.ClientApp.Web.Auth.ApplicationOAuthProvider.d__2.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerHandler.d__3f.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)

at Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerHandler.d__22.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)

at Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerHandler.d__0.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d__0.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d__0.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d__0.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.d__0.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.d__5.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.d__2.MoveNext()

---抛出异常的前一个位置的堆栈跟踪结束---

at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar)

at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar)

at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)

ClientConnectionId:00000000-0000-0000-0000-000000000000

错误号码:258,州:0,班级:20

添加了我从azure

获取的日志的图像

1 个答案:

答案 0 :(得分:2)

1-当在应用程序的连接字符串中的db-server-name上未指定tcp协议时,可能会导致此错误。

第二种可能性:

2-转到Sql Server配置管理 - > SQL Server网络配置>'servername'协议和检查命名管道已启用。

3-防火墙规则:

TCP端口1433的端口例外。在“新建入站规则向导”对话框中,使用以下信息创建端口例外:选择端口选择TCP并指定端口1433允许连接选择所有三个配置文件(域,专用&公共)将规则命名为“SQL - TCP 1433”UDP端口1434的端口例外。再次单击“新建规则”并使用以下信息创建另一个端口例外:选择端口选择UDP并指定端口1434允许连接选择所有三个配置文件( Domain,Private& Public)将规则命名为“SQL - UDP 1434 sqlservr.exe的程序异常。再次单击“新建规则”并使用以下信息创建程序例外:选择程序单击“浏览”以在此位置选择“sqlservr.exe”:[C:\ Program Files \ Microsoft SQL Server \ MSSQL11。\ MSSQL \ Binn \ sqlservr。 exe]您的SQL实例的名称在哪里。允许连接选择所有三个配置文件(域,专用和公用)命名规则SQL - sqlservr.exe sqlbrowser.exe的程序例外再次单击“新建规则”并使用以下信息创建另一个程序例外:选择程序单击“浏览”在此位置选择sqlbrowser.exe:[C:\ Program Files \ Microsoft SQL Server \ 90 \ Shared \ sqlbrowser.exe]。允许连接选择所有三个配置文件(域,专用和公用)命名规则SQL - sqlbrowser.exe

请参阅:SQL Connection Error: System.Data.SqlClient.SqlException (0x80131904) 还有:https://thycotic.force.com/support/s/article/System-Data-SqlClient-SqlException-0x80131904