【发布时间】:2010-10-29 04:27:36
【问题描述】:
我需要了解在 .net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳做法,特别是在从数据访问层或层返回 IQueryable<T> 时。
我收到“超时已过期。从池中获取连接之前的超时期限已过。这可能是因为所有池连接都在使用中并且已达到最大池大小。”测试我的 asp.net 应用程序以进行 webstress 测试时出错 ?
【问题讨论】:
标签: c# .net linq-to-sql
我需要了解在 .net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳做法,特别是在从数据访问层或层返回 IQueryable<T> 时。
我收到“超时已过期。从池中获取连接之前的超时期限已过。这可能是因为所有池连接都在使用中并且已达到最大池大小。”测试我的 asp.net 应用程序以进行 webstress 测试时出错 ?
【问题讨论】:
标签: c# .net linq-to-sql
http://www.geekscrapbook.com/2010/08/13/connection-timeout-using-linq-datacontext/
链接将向您解释使用 LINQ to SQl 超时的原因。您可以手动增加查询执行时间。默认为 30 秒。 根据 Visual Studio 2008 转到
工具->数据库工具->查询和查看 设计
在这里您可以选择增加执行时间。 希望对你有帮助。
祝你好运
【讨论】:
你需要增加DataContext对象中的CommandTimeout属性值(默认值为30秒),以秒为单位,例如:
var myDataContext = new MyDbDataContext(myConnectionString) { 命令超时 = 120 }; var rows = myDataContext.sp_Agent__Select(agentId);
【讨论】:
实际上,您可能想检查服务器是否真的启动了。我遇到了这个问题 - 原来我在停止维护后忘记重新启动 MSSQL 服务。
基本的菜鸟错误,但让我头痛了一个星期
【讨论】: