我在使用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。
你有什么想法吗?谢谢。
答案 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;
另外,请记住将其包含在“使用”块或尝试/最后,您可以安全地关闭和处置您的连接和相关对象。