开启SharePoint页面的Session功能

开启SharePoint页面的Session功能

 

1、C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS目录里的 web.config文件里缺少一句话

<add name="Session" type="System.Web.SessionState.SessionStateModule"/>


加在<httpModules>里,加完之后的<httpModules>应该是这样的:

    <httpModules>
      <clear />
      <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
      <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
       <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
    </httpModules>

   记得移除 <remove name="Session" />这个节点,不然还是会报错
2、在SPS门户所在IIS发布目录里,找到web.config ,修改Pages里的enableSessionState 为true ,修改后应该是这样的:

<pages enableSessionState="true" enableViewState="true" enableViewStateMac="true" validateRequest="false" />

 

 对于喜欢在代码中使用Session的同学而言,我们可以大胆的通过修改Web应用程序的web.config文件,手工启用Session。不 过,稍等,SharePoint 2010其实已经内置了一个PowerShell指令,让我们轻松的在服务器场里面启用Session。这个指令就是Enable- SPSessionStateService

 

 如上图所示,打开SharePoint 2010 Management Shell,输入如上指令,就可以在SharePoint配置数据库所在的SQL Server服务器上,自动创建一个名为“SharePoint_Session_State”的数据库,然后在所有Web应用程序的 web.config中自动添加相应的条目。

image

这个自动添加的条目,指明了Session将使用SQLServer模式以及存放Session的数据库连接字符串。打开SQL Server Management Studio,就能找到这个由Enable-SPSessionStateService自动创建的数据库,它仅包含2个Table。

image

Enable-SPSessionStateService还提供了几个其他的参数。-DefaultProvision参数表示将直接使用 SharePoint系统现有的配置数据库(默认就是SharePoint_Config)作为存放Session数据的数据库,而不再使用专门的数据库 (我非常不推荐这个做法)。-DatabaseServer和-DatabaseCredentials则可以指定使用自定义的数据库服务器(而不是默认 的放置配置数据库的那个服务器)和数据库连接帐户。

如果需要做一个反向操作,即在服务器场禁止Session的使用,可以使用Disable-SPSessionStateService指令。

 

作者:欣静赏悦
出处:http://www.cnblogs.com/windy2008
本文版权归作者和博客园共有,欢迎转载,请保留此段声明。

posted on 2015-09-08 07:49  !无名之辈  阅读(212)  评论(0)    收藏  举报