无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET

方法一.Web.Config里面 把sessionState 的mode改为"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,即说明这个状态服务是采用远程服务器模式,需要设置服务器的字符串和密码等参数.

方法二.在windows服务中启用"ASP.NET State service"

 

Session模型简介

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

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

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

     <sessionState
  mode="InProc"
  stateConnectionString="tcpip=127.0.0.1:42424"
  sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
  cookieless="false"
  timeout="20"
     />

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

 

posted @ 2017-02-15 11:14  gudi  阅读(27456)  评论(0编辑  收藏  举报