C# sql连接优化

C# sql连接优化,c#,sql,sql-server,sql-server-2008,connection-string,C#,Sql,Sql Server,Sql Server 2008,Connection String,关于在c#中使用sql server 2008,我有两个问题 问题1:在c#中同时查询sql server 2005连接的次数是多少 我的连接字符串是: Data Source = localhost;database=TaskQueue;Persist Security Info=True;integrated security=SSPI; MultipleActiveResultSets=true; Connection Timeout=0;Pooling=false; 问题2:什么是连接

关于在c#中使用sql server 2008,我有两个问题

问题1:在c#中同时查询sql server 2005连接的次数是多少

我的连接字符串是:

Data Source = localhost;database=TaskQueue;Persist Security Info=True;integrated security=SSPI; MultipleActiveResultSets=true; Connection Timeout=0;Pooling=false;
问题2:什么是连接的有效寿命?我想在end off Running应用程序中保持打开全局连接,并仅用于此连接。 这种方法会出现问题吗

在c#中同时查询sql server 2005连接的次数是多少

SQL Server 2005标准版最多可支持32767个同时连接

什么是连接的有效寿命?我想在end off Running应用程序中保持打开全局连接,并仅用于此连接。这种方法会出现问题吗

SQL Server利用了这一点,因此您通常希望保持连接的短暂性,以便在使用后可以将其返回

<>请考虑使用< /Cord>语句在“<代码>”内包装SQL调用,以确保它们被打开、执行和正确处理,而不是使用一个全局连接保持打开:

using (var connection = new SqlConnection("your-connection-string"))
{
     // Do stuff
}
检查您的连接字符串

值得注意的是,您现有的连接字符串已显式禁用池,这将不允许您利用内置的连接池:

Data Source = ...; Pooling=false;

我强烈建议您在完全清楚自己在做什么的情况下重新启用此选项,否则您可能会遇到一些意外行为、孤立连接等。

您可以查看此案例以回答第2部分:基本上,您希望您的连接尽可能短,以便它们可以返回到框架已经提供的池中;传递错误:超时过期从池中获取连接之前经过的超时时间i使用(var connection=new SqlConnection(“您的连接字符串”){//Do stuff}但传递错误