• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

请教一个关于State Server的问题

发财蛇 2004-06-23 12:46:33
Session保存可以设置到一个State Server中,这样可以处理跨服务器的Session保存。
本人不明白以下几个问题,请高手解答一下,谢谢
1.怎样设置State Server的权限,也就说,怎样控制允许的Web Application可以保存
Session
2.看到一些文章提到Session在SqlServer或State Server中会丢失,为了解决这个问题
需要将所有的类Serializable,能不能详细解释下丢失和Serializable的原因???
谢谢!!

...全文
72 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
neilwang 2004-06-23
1.好像无法控制State Server的权限,写Session和读Session都是程序代码做的事情,在代码里自己判断,不允许读写session。
2.最容易丢失的是Inproc,进程一结束,application一重启就丢失了;sqlserver最不容易丢失,即使重新启动机器也不会丢失。SqlServer或State Server允许用不同的机器作为session服务器。并不是会丢失而要序列化,是因为数据要存到另一个进程空间中去,所以要先序列化变成string后才传到session server。
回复
发财蛇 2004-06-23
~
回复
cnlamar 2004-06-23
StateServer在asp.net里是首次出现,或许是设计的不成熟造成的,asp.net1.x里设计不成熟的地方随处可见……
回复
发财蛇 2004-06-23
cnlamar(无中生有)
===================
我也这么理解,

另外,看到相关资料说使用StateServer的每台WEB SERVER中的AllicationPath必须一
样,也就说A服务器中有虚拟目录aaa/
b服务器同时也要有aaa目录,相反,B服务器中的目录,A也要有,也就是IIS的
Metabase必须同步。这是为什么?是一个BUG吗?
回复
cnlamar 2004-06-23
我想序列化是发生在对象从应用服务器传递到State Server的时候,asp.net会帮你处理好的,但你要保证你传递过去的对象可以被正常的序列化,也就是一些自定义对象需要在内部支持序列化
回复
发财蛇 2004-06-23
当所有的服务器拥有相同的machineKey他们才能共享Session,i see
回复
发财蛇 2004-06-23
哦,是不是当Session中保存的是对象的时候这个对象必须是序列化的,如果我只保存的是用户名称这样的String类型是不用序列化的!
这样理解对不对?
回复
发财蛇 2004-06-23
谢谢 neilwang(无)
1.当我设置一台服务器为State Server后,想了解怎样控制非法站点在State Server中保存Session信息,因为State Server地址很可能是公开的,如果别的站点都将它的Session保存在我的State Server上,这其不是件很懊恼的事情?
2.我可不可以这样理解:当设置一台State Server后,必须要将序列化?能否说明一下,在哪个地方应该序列化。或者给段例子,谢谢!!!
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-06-23 12:46
社区公告
暂无公告