使用Session服务未开启错误解决方案

本文介绍了解决因ASP.NET状态服务未启动导致的Session异常的方法。包括启动ASP.NETStateService服务、更改Web.Config中的SessionState模式为InProc以及关闭可能阻止服务运行的杀毒软件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人基本不使用Session,很经常都是通过Cookie来完成这些问题,但是今天碰到同事弄得一个项目使用Session来验证验证码的,出现了这个问题,下面是在网路上搜到的一个解决方案,记录下来一边后面使用。

 

异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求。请确保已启动 ASP.NET State service,并且客户端和服务器端口是相同的。如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 的值,确保服务器接受远程请求。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

方法一:

在"管理工具"中的"服务"启动"ASP.NET State Service"

方法二:

web.config中配置SessionState的mode为StateServer,但指定的服务器没有开启那个服务。
改成InProc即可。

方法三:

把杀毒软件关掉,他可以以为运行生成的文件是带病毒的,会跟你阻止页面生成


=============


Web.Config里面:
<sessionState
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;user id=sa;password="
            cookieless="false"
            timeout="20"
    />
你是不是使用“StateServer”,如果是,请参考:
使用 StateServer 模式

确保 ASP.NET 状态服务正在将存储会话状态信息的远程服务器上运行。该服务是随 ASP.NET Premium 版一起安装的,并且该服务默认情况下位于 <Drive>:\Program Files\ASP.NET\Premium\version\aspnet_estate.exe。
在应用程序的 Web.config 文件中,设置 mode=StateServer 并设置 stateConnectionString 属性;例如 stateConnectionString="tcpip=sarath:42424"。

本文转自网魂小兵博客园博客,原文链接:http://www.cnblogs.com/xdotnet/archive/2012/02/03/session-service.html,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值