在30秒后在ASP.NET上超时,在SQL Server 2008 R2上没有超时

时间:2014-03-07 13:42:13

标签: c# asp.net sql-server-2008-r2

我有一个访问SQL Server 2008 R2数据库的ASP.NET MVC3项目。 如果我在运行时运行语句,30秒后会出现超时。 在SQL Server管理工作室中运行相同的语句时没有超时,我在3秒后得到一个可接受的结果。 虽然这是一个测试环境,但我似乎是唯一一个在我的管理工作室中打开窗口进行睡眠过程的人。 要访问我使用的SQL服务器 System.Data.SqlClient的 并将连接字符串存储在web.config中 当控制器想要访问数据库时,我获取连接字符串

Data Source=192.168.111.111;Initial Catalog=agkamed_dev;Persist Security Info=True;User ID=test;Password=wrongpassword;MultipleActiveResultSets=true;

另外设置

SET TRANSACTION ISOLATION LEVEL SNAPSHOT

如果需要进一步的信息,请询问。

问题:ASP.NET端长时间延迟的原因是什么?

2 个答案:

答案 0 :(得分:0)

从C#和SQL Server Management Studio执行的查询的性能/结果的差异通常归因于ANSI设置的差异。

请注意,SSMS默认情况下会设置ANSI_NULLS,ANSI_PADDING,ANSI_NULLS,这不是C#的情况(参见工具/选项/查询执行/ SQL Server / ANSI)

我建议您尝试逐个设置这些,直到您获得与C#代码相同的行为。然后修改您的查询,使其不依赖于这些设置。

答案 1 :(得分:0)

我还没找到问题的答案。我通过在SQL服务器上创建一个函数来解决这个错误,虽然我宁愿找到问题的解决方案,因为它不是第一个出现这个问题的。