繁体   English   中英

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

[英]Timeout on ASP.NET after 30 seconds, on SQL server 2008 R2 no timeout

我有一个访问SQL Server 2008 R2数据库的ASP.NET MVC3项目。 如果我在运行时中运行一条语句,则会在30秒后超时。 在SQL Server Management Studio中运行同一条语句时,没有超时,并且3秒钟后我得到了可接受的结果。 虽然这是一个测试环境,但似乎我是管理工作室中唯一拥有从打开的窗口进入休眠过程的人。 为了访问SQL Server,我使用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端长时间延迟的原因是什么?

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

请注意,SSMS默认情况下会将ANSI_NULLS,ANSI_PADDING和ANSI_NULLS设置为on,而C#则不会这样(请参阅工具/选项/查询执行/ SQL Server / ANSI)。

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

我尚未找到该问题的答案。 我通过在SQL Server上创建一个函数来解决该错误,尽管我宁愿为该问题找到解决方案,因为这不是第一次出现此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM