IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法

解决方法一:

1. 开启ASP.NET State Service服务:

选择管理工具->服务,找到ASP.NET State Service,点开后选择启动,并将启动类型设为自动。

2. 设置程序配置文件:

将web.config打开,会看到有一行是<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>,如果没有,请在<system.web>的下一行添加,再将其中的InProc改为StateServer,保存即可。

解决方法:

如果按照方法一还不行出现如下错误:解决方法如下

错误描述:

Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.   If the server is on a remote machine, please ensure that it accepts remote requests by checking the value of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection.   If the server is on the local machine, and if the before mentioned registry value does not exist or is set to 0, then the state server connection string must use either 'localhost' or '127.0.0.1' as the server name.

解决办法

网上搜索了半天,找到的相关答案都说是ASP.NET State Service服务没有开启,但服务器上明明已经开启了啊!就是因为杀毒软件的问题,以前在另一台服务器上装了MCAFEE,开启访问保护ASP.NET的所有网站都会出错,看了一下服务器里装的NOD32,是把所有的功能都开启了,关掉网络监视(IMON),验证码就可以正常显示了

(0)

相关推荐

  • C# SESSION丢失问题的解决办法

    我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失.下面就是Session数据丢失的解决办法希望对您有好处. 1.在WEB.CONFIG文件中修改SESSION状态保存模式,如:<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cook

  • C#程序中session的基本设置示例及清除session的方法

    session的基本设置: using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.SessionState; namespace OAFrameWork { public class CSession { public static object Get(string Key) { return HttpContext.Current.Sessio

  • asp.net(C#)清除全部Session与单个Session的方法

    实例如下: Session.Abandon();//清除全部Session //清除某个Session Session["UserName"] = null; Session.Remove("UserName"); 以上这篇asp.net(C#)清除全部Session与单个Session的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • C#程序中session值的保存方法以及转为字符串的方法总结

    C#中保存Session的三种方法及Web.Config设置 保存session到sql server;,需要指定Sql Server;服务器,这种方法因为要读写数据库最慢 <sessionState mode="SQLServer" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20&q

  • asp.net(c#)有关 Session 操作的几个误区

    1. this.Session["username"] = null  HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户数据.因此使用 this.Session["username"] = null 仅仅是将该元素的值设为 null 而已,并没有真的将其从 Session 中移除.(为什么?晕~~~ 建议看看 C# 基础方面的书.) 正确的方法是:this.Session.Remove("use

  • ASP.NET在底层类库中获取Session C#类中获取Session 原创

    类库中获取Session首先要添加引用 获取Session 复制代码 代码如下: string user = (string)HttpContext.Current.Session["user"]; 获取Page 复制代码 代码如下: System.Web.UI.Page page = (System.Web.UI.Page)HttpContext.Current.Handler; 获取当前 Request Response 等对象都是在这里 复制代码 代码如下: HttpRespon

  • C#操作session的类实例

    本文实例讲述了C#操作session的类.分享给大家供大家参考.具体分析如下: 这个C#类对session操作进行了再次封装,可以大大简化session的常用操作,同时这个类可以将session值设置为数组,也可以将值读取为数组列表,如果你有这方面的需要可以使用这个类,扩这自己对这个C#类进行扩展. using System.Web; namespace DotNet.Utilities { public static class SessionHelper2 { /// <summary>

  • C#实现简单获取及设置Session类

    本文实例讲述了C#实现简单获取及设置Session类.分享给大家供大家参考.具体分析如下: 这是一个简单的C#获取Session.设置Session类文件,本类主要实现大家最常用的两个功能: 1.GetSession(string name)根据session名获取session对象: 2.SetSession(string name, object val)设置session 具体代码如下: using System.Web; namespace DotNet.Utilities { ///

  • ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法

    今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失. 后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功

  • asp.net删除文件session丢失

    如果你曾经修改了ASP.NET应用程序(dll文件),与修改了bin文件夹或Web.config文件(添加/删除/重命名的文件等),而该网站在运行,你可能已经注意到,这将导致在AppDomain的重新启动.所有的会话状态会丢失和网站再次成功启动,任何登录的用户将被退出(假设你不使用持久Cookie身份验证). 当然,当我们修改了web.config文件,并保存它,迫使一个AppDomain重新启动,这是我们需要的. 我们有时动态创建和删除的文件夹,在ASP.NET 2.0中,文件夹删除将导致一个

随机推荐