【发布时间】:2012-01-26 16:44:42
【问题描述】:
我们在尝试从托管 Web 角色 ASP.NET / Umbraco 应用程序连接时遇到 SQL Azure 超时问题)。这个问题是间歇性的。例外是:
在 /microsoft-crm/microsoft-crm-2011.aspx(引用者:xxxxxxxxxxx): umbraco.DataLayer.SqlHelperException:Umbraco 异常(DataLayer): ExecuteReader 中的 SQL 帮助程序异常 ---> System.Data.SqlClient.SqlException:超时已过期。超时 在操作完成之前经过的时间段或服务器处于 没有响应。在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32 错误)在 System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() 在 System.Data.SqlClient.TdsParserStateObject.ReadByte() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior,字符串 resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、布尔 returnStream、布尔 异步)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法,DbAsyncResult 结果)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为)在 Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(字符串 连接字符串、命令类型命令类型、字符串命令文本、 SqlParameter[] commandParameters) 在 umbraco.DataLayer.SqlHelpers.SqlServer.SqlServerHelper.ExecuteReader(字符串 commandText,SqlParameter[] 参数)在 umbraco.DataLayer.SqlHelper
1.ExecuteReader(String commandText, IParameter[] parameters) --- End of inner exception stack trace --- at umbraco.DataLayer.SqlHelper1.ExecuteReader(String commandText, IParameter[] parameters) at umbraco.macro..ctor(Int32 id) at umbraco.macro.ReturnFromAlias(String alias) at umbraco.presentation.templateControls.Macro.CreateChildControls()
在 System.Web.UI.Control.EnsureChildControls() 在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Control.InitRecursive(控件命名容器)在 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint)
我们到 SQL Azure 的连接字符串是:
Server=tcp:xxxxxxx.database.windows.net,1433;Database=DatabaseName;User ID=UserName@Servername;Password=Password;Trusted_Connection=False;Encrypt=True;TrustServerCertificate=True
【问题讨论】:
-
在 umbraco.DataLayer.SqlHelper1.ExecuteReader(String commandText, IParameter[] parameters): 你能调试并得到实际的 commandText,然后尝试在 SSMS 中执行它,看看它是否在那里工作?跨度>
标签: asp.net sql azure umbraco azure-sql-database