我正在尝试使用State Server会话。
我已将会话状态更改为以下内容:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20" />
从本地主机运行我的网站,一切正常。
但是当我发布我的网站并尝试在线运行时,我收到以下错误:
无法向会话状态服务器发出会话状态请求。 请确保ASP.NET状态服务已启动并且确实已启动 客户端和服务器端口是相同的。如果服务器在远程服务器上 机器,请确保它通过检查接受远程请求 的价值 HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ aspnet_state \参数\ AllowRemoteConnection。 如果服务器在本地计算机上,如果之前提到过 注册表值不存在或设置为0,然后是状态服务器 连接字符串必须使用'localhost'或'127.0.0.1'作为 服务器名称。
该网站托管在Afrihost服务器上,在重新分析错误之后我发现它可能是因为ASP.NET状态服务尚未启动。有没有办法可以检查Afrihost服务器是运行此服务还是远程启动它?
另外我知道IP地址127.0.0.1适用于本地主机,但是因为您在Web服务器上发布应用程序,所以该机器的本地化是正确的。
答案 0 :(得分:23)
该错误消息表示ASP.NET State服务未运行。
您的连接字符串应始终为stateConnectionString="tcpip=127.0.0.1:42424"
,无论托管该站点的哪个位置都是本地计算机。
联系Afrihost并要求他们重新启动服务后,一切都开始正常运行。