当前位置: 首页 > news >正文

个人制作一个网站的费用口碑好的广州做网站

个人制作一个网站的费用,口碑好的广州做网站,网页开发人员招聘,公司网页设计怎么弄ASP.NET二级域名站点共享Session状态今天#xff0c; 我要写的是如何在二级域名站点之间,主站点和二级域名站点之间共享Session。首先, Session要共享#xff0c;站点之间SessionID必须要一致#xff0c;那怎么保证SessionID一致呢#xff1f;ASP.NET中的SessionID是存储在… ASP.NET二级域名站点共享Session状态今天 我要写的是如何在二级域名站点之间,主站点和二级域名站点之间共享Session。首先, Session要共享站点之间SessionID必须要一致那怎么保证SessionID一致呢ASP.NET中的SessionID是存储在客户端的cookie之中键值为ASP.NET_SessionId用来维护浏览者Session对应关系的一个字符串要想在二级域名站点之间,主站点和二级域名站点共享SessionID就必须先共享那么我们就必须先实现ASP.NET_SessionId这一cookie的共享。A: CrossDomainCookieModulepublic class CrossDomainCookie : IHttpModule{private string m_RootDomain string.Empty;#region IHttpModule Memberspublic void Dispose(){}public void Init(HttpApplication context){m_RootDomain ConfigurationManager.AppSettings[RootDomain];context.EndRequest new System.EventHandler(context_EndRequest);}void context_EndRequest(object sender, System.EventArgs e){HttpApplication app sender as HttpApplication;for (int i 0; i app.Context.Response.Cookies.Count; i){app.Context.Response.Cookies[i].Domain m_RootDomain;}}#endregion}上面的Module重设了所有cookie的domain到root domain, root domain在web.config中设置。也许有人会说这是眉毛胡子一把抓重写了所有cookie的domain, 那他也可以判断一下cookie的name, 如果为ASP.NET_SessionId的话才重写。如果主站点和二级域名站点是同一站点那么做到这一步你的session就已经共享了因为Session的ID是相同的而且Session容器也是同一个。如果主站点和二级域名站点是两个不同站点则需要进行更多的操作了。如果两个站点是不同的服务器的话解决方法要简单点:1) 使用相同的state server来存储Session.2) 在两个站点的web.config设置相同的machineKey.machineKeyvalidationKey78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4decryptionKey5FC88DFC24EA123CvalidationSHA1/MachineKey的设置请参考http://msdn.microsoft.com/zh-cn/asp.net/w8h3skw9.aspx3) 给两个站点设置相同name这样做是为了确保两个站点的siteID相同,siteID是site name的hash值注意请不要使用默认站点因为默认站点的siteID并非site name的hash.如果两个站点是在同一的服务器的话需要对CrossDomainCookie再作一下修改此方法也可应用于两个站点在不同服务器的情况:1) 使用相同的state server来存储Session.2) 用反射来设置System.Web.SessionState.OutOfProcSessionStateStore的静态字段s_uribase的值public class CrossDomainCookie : IHttpModule{private string m_RootDomain string.Empty;#region IHttpModule Memberspublic void Dispose(){}public void Init(HttpApplication context){m_RootDomain ConfigurationManager.AppSettings[RootDomain];Type stateServerSessionProvider typeof(HttpSessionState).Assembly.GetType(System.Web.SessionState.OutOfProcSessionStateStore);FieldInfo uriField stateServerSessionProvider.GetField(s_uribase, BindingFlags.Static | BindingFlags.NonPublic);if (uriField null)throw new ArgumentException(UriField was not found);uriField.SetValue(null, m_RootDomain);context.EndRequest new System.EventHandler(context_EndRequest);}void context_EndRequest(object sender, System.EventArgs e){HttpApplication app sender as HttpApplication;for (int i 0; i app.Context.Response.Cookies.Count; i){app.Context.Response.Cookies[i].Domain m_RootDomain;}}#endregion}完成这样的修改之后就可以实现Session的共享了。同样如果你是使用SQL server来存储Session, 也可以使用类似的方法来解决Session共享问题。来源Diy综合信息网.NET二级域名共享Session
http://www.sadfv.cn/news/86641/

相关文章:

  • 创新的中小型网站建设源码下载网站有哪些
  • 企业营销网站的建设荣盛科技网站建设
  • 商丘市做网站的公司寿光住房和城乡建设局网站
  • 昆山装饰公司网站建设网站做APP麻烦吗
  • 招聘网站建设策划书芜湖市住房和城乡建设厅网站首页
  • 搜狐快站图片瀑布流网站
  • 蚌埠网站优化制作公司万能搜索
  • 怎样做艾条艾柱网站建站行业span分析
  • 南昌网站建设公司渠道优惠券网站怎么做代理
  • 郑州做网站锐金寨县重点工程建设管理局网站
  • 怎么做谷歌收录的网站吗网站打开显示建设中
  • 昌平网站建设浩森宇特建站公司如何在抖音平台开店
  • 秦皇岛建设工程信息网站建设网站要多长时间
  • 国外网站推广软件接工程平台
  • 返利网站做淘宝台州平台网站建设
  • vps没问题访问不了网站高邮城乡建设局 网站
  • python 做网站 用哪个框架好南乐网站建设价格
  • 自己网站如何做关键词网站设计和备案
  • 安康 住房城乡建设部网站邵阳市建设局网站首页
  • .net 接单网站有哪些封丘县建设银行网站
  • 张槎杨和网站建设帮做ppt的网站
  • 六安网站开发专门做生鲜的网站
  • 温州网站设计联系亿企邦wordpress 三合一
  • 惠州网站制作软件wordpress the7 下载
  • 博客做资讯类网站武进区住房和城乡建设局网站
  • 网站访问量火车头wordpress 5.1发布模块
  • 邢台专业网站建设体育新闻最新消息乒乓球
  • 做公司网站需要备案吗网站 分析
  • app门户网站沧州网络营销推广方案
  • 企业网站建设案例哪个品牌好哪些网站可做矿机期货