【发布时间】:2011-02-03 13:39:54
【问题描述】:
我有 ASP.NET 应用程序,
当用户注销并立即尝试再次登录时,它失败并且页面正在等待,20 秒后页面登录,我认为与数据库的连接,例如 Access,inst 关闭。 当用户注销以关闭所有数据库连接实例时我需要做什么。 当用户单击注销按钮时,我正在使用此代码:
protected void closeCon()
{
//to close access
OleDbConnection sqlconConnection = (OleDbConnection)DatabaseConnection.Instance.GetConnection();
sqlconConnection.Close();
// to close sql server
SqlConnection sqlconConnection1 = (SqlConnection)(SqlConnection)DatabaseConnection.Instance.GetConnection();
if (sqlconConnection1.State != ConnectionState.Closed)
{
sqlconConnection1.Close();
}
}
Session.Abandon();
HttpCookie ObjCookie = new HttpCookie("ourcase");
ObjCookie.Expires = DateTime.Now;
HttpContext.Current.Response.Cookies.Add(ObjCookie);
Response.Redirect("/login/default.aspx");
System.Web.Security.FormsAuthentication.SignOut();
【问题讨论】:
-
当您一次收到多个请求时,您的网站将严重失败。你应该完全重新设计你的数据库连接; 不共享连接实例。
-
@ abatishchev,我关闭了我打开的所有连接,但是,有没有办法关闭任何打开的连接?
-
大声笑 - @abatishchev,也许与其急于成为第一个编辑,不如先花点时间检查一下所有的拼写错误?
-
@Tony Toews 我在登录时遇到问题,当用户注销时,然后立即尝试登录,它失败了,他等待 10 秒或 20 秒。
Session.Abandon(); HttpCookie ObjCookie = new HttpCookie("ourcase"); ObjCookie.Expires = DateTime.Now; HttpContext.Current.Response.Cookies.Add(ObjCookie); Response.Redirect("/login/default.aspx"); System.Web.Security.FormsAuthentication.SignOut(); ;我正在使用所有可能的方法来清除删除烹饪并重新登录的机会,但是当再次登录时它失败了。 -
我看到这里提到了我的名字,但我没有看到我原来的评论,所以我不知道我输入了什么。
标签: c# asp.net sql-server ms-access