セッションの有効期限が切れたとき、ユーザーがログアウトしたとき、またはユーザーが Web アプリケーションを閉じたときに実行されるメソッドが必要です。これらのイベントをasp.netでキャッチしてメソッドを実行するにはどうすればよいですか? vs 2008/asp.net/c# で Web アプリを構築しています。
私を助けてください。
期待して感謝
セッションの有効期限が切れたとき、ユーザーがログアウトしたとき、またはユーザーが Web アプリケーションを閉じたときに実行されるメソッドが必要です。これらのイベントをasp.netでキャッチしてメソッドを実行するにはどうすればよいですか? vs 2008/asp.net/c# で Web アプリを構築しています。
私を助けてください。
期待して感謝
use Global.asax file
リンクを参照して、Global.asax ファイルを使用してください http://www.dotnetcurry.com/ShowArticle.aspx?ID=126
ソリューションを右クリックし、新しい項目を追加します。ソリューションに Global.asax を追加します。その後、次のイベントがあります。
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
//Utils.LoadExtensions();
}
void Application_End(object sender, EventArgs e)
{
ClsCollege ObjClsColledge = new ClsCollege();
ObjClsColledge.TruncateAllUserDetails(Session["UserSessionId"].ToString());
ObjClsColledge.TruncateAllUserDetailsPrefrance(Session["UserSessionId"].ToString());
}
void Application_Error(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
Exception ex = context.Server.GetLastError();
if (ex == null || !(ex is HttpException) || (ex as HttpException).GetHttpCode() == 404)
{
return;
}
StringBuilder sb = new StringBuilder();
try
{
sb.AppendLine("Url : " + context.Request.Url);
sb.AppendLine("Raw Url : " + context.Request.RawUrl);
while (ex != null)
{
sb.AppendLine("Message : " + ex.Message);
sb.AppendLine("Source : " + ex.Source);
sb.AppendLine("StackTrace : " + ex.StackTrace);
sb.AppendLine("TargetSite : " + ex.TargetSite);
ex = ex.InnerException;
}
}
catch (Exception ex2)
{
sb.AppendLine("Error logging error : " + ex2.Message);
}
if (BlogSettings.Instance.EnableErrorLogging)
{
Utils.Log(sb.ToString());
}
context.Items["LastErrorDetails"] = sb.ToString();
context.Response.StatusCode = 500;
//// Custom errors section defined in the Web.config, will rewrite (not redirect)
//// this 500 error request to error.aspx.
}
void Session_Start(object sender, EventArgs e)
{
}
void Session_End(object sender, EventArgs e)
{
ClsCollege ObjClsColledge = new ClsCollege();
ObjClsColledge.TruncateAllUserDetails(Session["UserSessionId"].ToString());
ObjClsColledge.TruncateAllUserDetailsPrefrance(Session["UserSessionId"].ToString());
}
</script>
イベント Session_start()、Session_End() および Application_End() を使用すると、イベントを追跡できます。