0

ファイルを別のフォルダーに移動し、ASP.NET アプリケーションで以前のフォルダーとファイルを削除するコードがあります。フォルダを削除すると、セッションが期限切れになります。セッション値の期限切れを制限するにはどうすればよいですか。

4

3 に答える 3

3

とても真実です。これは、削除によって ASP.NET アプリケーションのフォルダー ツリーが変更され、アプリケーションが強制的にリサイクルされるために発生します。ここを参照してください: http://www.geekays.net/post/2008/10/14/ASPNET-webdomain-recycle-on-subfolder-changes.aspx

于 2012-05-24T09:32:12.433 に答える
1

Global.asax ページ内で次のコードを使用します。

void Application_Start(object sender, EventArgs e) 
{
    System.Reflection.PropertyInfo p = typeof(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
    object o = p.GetValue(null, null);
    System.Reflection.FieldInfo f = o.GetType().GetField("_dirMonSubdirs", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.IgnoreCase);
    object monitor = f.GetValue(o);
    System.Reflection.MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
    m.Invoke(monitor, new object[] { }); 
}
于 2012-09-18T07:49:31.087 に答える