关于Session丢失的一个问题(太奇怪了),急!!! 开发了一套B/S的系统,开发的时候没有发现什么问题;结果在客户那边一下就Session丢失(确切的说,一登录就丢失),这种丢失只发生在用主机名访问的情况,而且100%几率,但是用IP地址就没有问题!!! 真的不知道该怎么解决了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session本来就容易丢,还是换cookie吧。 引用:“session本来就容易丢,还是换cookie吧。”cookie 是session的一种储存方式楼上这位仁兄是不是理解错了,只是一个在服务器上另外一个储存在本地文件。 I'm glad to hear it:) 不过,建议你还是使用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" /> 主机的名称竟然会导至COOKIE的丢失,下次装机器的时候还真要小心一点了呢. 可以存放到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" /> 之前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 对象。 C# 关于登陆界面的SQL语句 ?索引器不成功 用代码生成listview控件 关于imgscan的问题 做过的人请进 100分悬赏 repeater控件中的<HeaderTemplate>问题 你现在程序里有一个picturebox里有一张图片,如何把他变成为你机器成的桌面。 nhibernate得一个问题. 这段代码运行后却看不到窗体,为什么? C# float 的精度 如何知道一个工程是用哪个版本的VS开发的? Form问题 怎么得到程序文件自身的路径? 用c#实现
cookie 是session的一种储存方式楼上这位仁兄是不是理解错了,只是一个在服务器上另外一个储存在本地文件。
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="true"
timeout="480"
/>
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" />
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 对象。