SQL服务器连接失败

时间:2012-10-02 08:18:43

标签: asp.net sql-server

我在使用ASP.net开发的Web应用程序时遇到了问题。

我实际上是在为它添加功能,以前的版本运行正常。

这是一个商家网站,当用户在购物车中有多个商品时,就会出现问题。 在这种情况下(例如两个项目),此代码被调用2次:

System.Configuration.Configuration WebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
System.Configuration.ConnectionStringSettings connString = WebConfig.ConnectionStrings.ConnectionStrings["ConnectionString"];
SqlConnection connection;

connection = new SqlConnection(connString.ConnectionString);

if (connection.State == ConnectionState.Closed)
    connection.Open();

第一次通过,但第二次我收到错误“chechec de l'ouverture de session de l'utilisateur'IIS APPPOOL \ XXXXX'。”什么意思是“无法打开用户'IIS APPPOOL \ XXXXX'的会话。”。

我为所有连接使用相同的代码部分,但从未遇到过这个问题。

我考虑过有限的连接数,但它在sql server中设置为illimited。

你有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:1)

我认为你的sqlconnection在每次调用后都没有正确关闭。试试这个 -

string connString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

using(SqlConnection connection = new SqlConnection(connString))
{
     connection.Open();
     //your code goes here
}

** using块会自动处理任何打开的sqlconnection。

答案 1 :(得分:0)

检查web.config中的凭据。 我也会改变连接字符串getter,比如

WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

另外,请记住将其包含在“使用”块或尝试/最后,您可以安全地关闭和处置您的连接和相关对象。