关于Session丢失的一个问题(太奇怪了),急!!!

dp5593 2004-10-19 04:38:07
开发了一套B/S的系统,开发的时候没有发现什么问题;结果在客户那边一下就Session丢失(确切的说,一登录就丢失),这种丢失只发生在用主机名访问的情况,而且100%几率,但是用IP地址就没有问题!!!
真的不知道该怎么解决了!!!
...全文
276 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuwenbing 2005-04-07
  • 打赏
  • 举报
回复
之前Session信息存储在IIS中,不知为何Session会丢失信息。

现在将Session信息存储在进程外,
1、在Web.config文件中,将mode的值改为StateServer,
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="true"
timeout="10"
/>
2、启动ASP.NET State Service的服务,


应用程序中的服务器错误。
--------------------------------------------------------------------------------

无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。
flyskywlh 2005-03-18
  • 打赏
  • 举报
回复
还有这种情况?????发生?????
生活真美好 2004-10-23
  • 打赏
  • 举报
回复
gz
amendajing 2004-10-23
  • 打赏
  • 举报
回复
真好! 学到了一招
exboy 2004-10-23
  • 打赏
  • 举报
回复
主机的名称竟然会导至COOKIE的丢失,下次装机器的时候还真要小心一点了呢.
wingnal 2004-10-23
  • 打赏
  • 举报
回复
搂主真猛,居然给微软打电话了
cancersyf 2004-10-23
  • 打赏
  • 举报
回复
不过,建议你还是使用Cookieless方式的session,即在web.config中进行下面的配置:

<!-- 会话状态设置

默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。

如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。

若要禁用 Cookie,请设置 sessionState cookieless="true"。

-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="true"
timeout="480"
/>
cancersyf 2004-10-23
  • 打赏
  • 举报
回复
I'm glad to hear it:)
dp5593 2004-10-23
  • 打赏
  • 举报
回复
各位DX,我找了微软的家伙打电话了,总算找到原因了,是因为服务器的主机名里有下划线!!这样Cookie没有办法解析,导致Session失效了!!
happyjun2000 2004-10-23
  • 打赏
  • 举报
回复
可以存放到sqlserver

找到这个文件
c:\WINNT\Microsoft.NET\Framework\v1.0.2914\ InstallSqlState.sql
这个文件,装入 sql server
2 修改 web.config ,大概象下面这样
< sessionState mode="SQLServer"
sqlConnectionString="data source=
WIN2000;userid=
sa;password=" cookieless= "false"timeout=
"20" />
accppss 2004-10-21
  • 打赏
  • 举报
回复
引用:“session本来就容易丢,还是换cookie吧。”
cookie 是session的一种储存方式楼上这位仁兄是不是理解错了,只是一个在服务器上另外一个储存在本地文件。
oneby 2004-10-21
  • 打赏
  • 举报
回复
我怕,顶下吧
  • 打赏
  • 举报
回复
不懂,顶一下
eradium 2004-10-21
  • 打赏
  • 举报
回复
session本来就容易丢,还是换cookie吧。
雨青 2004-10-21
  • 打赏
  • 举报
回复
再頂一下
sexfreebird 2004-10-20
  • 打赏
  • 举报
回复
这个不应该是软件的问题吧,我觉得好像是系统的问题。
Jinniu 2004-10-20
  • 打赏
  • 举报
回复
报的错误是什么?
wangxt 2004-10-20
  • 打赏
  • 举报
回复
帮你顶一下
Tomgus 2004-10-20
  • 打赏
  • 举报
回复
你的内外网有区别
blackjack 2004-10-20
  • 打赏
  • 举报
回复
我是Peter,帮你顶一下
加载更多回复(1)

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧