0

我在使用 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();

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

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

我想到了有限的连接数,但它在 sql server 中设置为 illimited。

你有什么想法 ?谢谢你。

4

2 回答 2

1

我认为每次通话后您的 sqlconnection 都没有正确关闭。尝试这个 -

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

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

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

于 2012-10-02T08:44:47.013 回答
0

检查 web.config 中的凭据。我还会将连接字符串获取器更改为类似

WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

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

于 2012-10-02T08:29:45.120 回答