.NET ASP.NET “/”应用程序中的服务器错误。(无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动...)

在这里插入图片描述还记得前面有一篇博文,设置session的时间通过web.config配置文件设置,上传到服务器后服务器可以运行,本地源码Visual Studio 2015直接启动出现上面的错误
解决方法:
方法一.在本地的Web.Config里面 把sessionState 的mode改为"InProc"(缺省模式)
在Web.Config里面:

<sessionState mode="InProc" timeout="30" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="60" />

如果是StateServer,即说明这个状态服务是采用远程服务器模式,需要设置服务器的字符串和密码等参数.
方法二.在windows服务中启用"ASP.NET State service"(根据个人服务启用)
在这里插入图片描述在这里插入图片描述Session模型简介
Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。

这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。

 Web.config文件中的Session配置信息

打开某个应用程序的配置文件Web.config后,我们会发现以下这段:

Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。

  这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。
     Web.config文件中的Session配置信息
  打开某个应用程序的配置文件Web.config后,我们会发现以下这段:
```csharp
 <sessionState mode="InProc" timeout="30" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="60" />

其中mode 设置将Session信息存储到哪里,Off 设置为不使用Session功能;InProc 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值;StateServer 设置为将Session存储在独立的状态服务中;SQLServer 设置将Session存储在SQL Server中.

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读