请问一下,我在global.asax文件里的session_start()建立了一个数据库连接,要在session_end()里退出,请问怎样可以实现?我试了很多次,session_end()都不会执行,这是使用户登陆的时候建立数据库连接,用户退出登陆的时候或关闭页面的时候断开连接的,有谁知道怎样让session_end()执行的教个,谢谢!
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="DBConn" %>
<%@ Application Language="C#" %>
<script Language="C#" runat="server">
SqlConnection conn;
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
//SqlConnection conn;
string ConnStr = "Data Source=.;database=RBAC;integrated security=true;Persist Security Info=True";
conn = new SqlConnection(ConnStr);
Session["conn"]=conn;
conn.Open();
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
//SqlConnection conn;
conn = (SqlConnection)Session["conn"];
//Session["conn"] = null;
conn.Close();
conn = null;
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
</script>