Sharing session with session state server
我正在尝试在清漆循环小叶平衡器之间设置两个Windowz框(
应用程序的会话状态都配置为指向第三台计算机(
Al机器具有相同的OS版本。
这两台机器具有相同的机器密钥
我放入了从http://pardini.net/blog/2011/02/17/the-ultimate-asp-net-session-state-debugging-tool/复制的anspx调试页面,它显示了两个不同的机器密钥 。
我可以看到
这是怎么回事
正如在与ASP.NET状态服务器通过多个ASP.NET应用程序共享会话状态中所建议的那样,我已将钩子添加到Global.aspx.cs中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | using System; using System.Collections.Generic; using System.Linq; using System.Web; using NHibernate; using NHibernate.Cfg; using NHibernate.Context; using NHibernate.Mapping.Attributes; using System.Web.SessionState; using System.Reflection; /// <summary> /// Summary description for Global /// </summary> public class Global : System.Web.HttpApplication { public static ISessionFactory SessionFactory; private static Configuration _configuration; public override void Init() { base.Init(); foreach (string moduleName in this.Modules) { string appName ="MYAPPNAME"; IHttpModule module = this.Modules[moduleName]; SessionStateModule ssm = module as SessionStateModule; if (ssm != null) { FieldInfo storeInfo = typeof(SessionStateModule).GetField("_store", BindingFlags.Instance | BindingFlags.NonPublic); SessionStateStoreProviderBase store = (SessionStateStoreProviderBase)storeInfo.GetValue(ssm); if (store == null) //In IIS7 Integrated mode, module.Init() is called later { FieldInfo runtimeInfo = typeof(HttpRuntime).GetField("_theRuntime", BindingFlags.Static | BindingFlags.NonPublic); HttpRuntime theRuntime = (HttpRuntime)runtimeInfo.GetValue(null); FieldInfo appNameInfo = typeof(HttpRuntime).GetField("_appDomainAppId", BindingFlags.Instance | BindingFlags.NonPublic); appNameInfo.SetValue(theRuntime, appName); } else { Type storeType = store.GetType(); if (storeType.Name.Equals("OutOfProcSessionStateStore")) { FieldInfo uribaseInfo = storeType.GetField("s_uribase", BindingFlags.Static | BindingFlags.NonPublic); uribaseInfo.SetValue(storeType, appName); } } } } } (...) |