在SharePoint 2010中启用会话状态?
我有一个为SharePoint 2007构建的Web服务,我正在尝试移植到SharePoint 2010.此Web服务依赖于会话状态才能正常运行,但到目前为止,我已启用会话状态在SharePoint 2010中完全可用此Web服务在/_vti_bin
虚拟目录下作为自己的Web应用程序运行。 我没有运气就尝试了以下所有方法:
- 确保“State Service”服务应用程序正在运行。
- 将
System.Web.SessionState.SessionStateModule
http模块添加到我的应用程序的web.config文件中。 - 将
System.Web.SessionState.SessionStateModule
http模块添加到我的SharePoint根web.config文件中。 - 将
到我的应用程序的web.config文件中。
- 在我的root web.config文件中添加了
。
其他环境信息:
- Visual Studio 2008 – SP1
- .NET 3.5 – SP1
- SharePoint 2010 – RC
- Windows Server 2008 R2
- ASMX Web服务(不是WCF)
有没有人有幸在Web 2010中使用Web应用程序或 Web服务来使用会话状态呢?
谢谢!
史蒂夫
你已经在互联网上的其他地方自己回答了这个问题。 🙂
那么,您必须进入您的Web应用程序并将相同的会话状态模块添加到IIS7管理的管道。
-
打开IIS 7管理器,找到您的Web应用程序。
-
双击IIS部分中的“模块”。
-
单击右侧窗格中的“添加托管模块…”。
-
在“添加托管模块”对话框中,输入
"SessionState"
或类似名称的内容,然后从下拉列表中选择以下项:System.Web.SessionState.SessionStateModule,System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
之后,应为您的Web应用程序/ Web服务启用会话状态!
您可能需要打开会话状态服务。 使用PowerShell cmdlet Enable-SPSessionStateService。 这将创建会话状态数据库并在SharePoint 2010中启动该服务。
参考信息: http : //technet.microsoft.com/en-us/library/ee890113.aspx
我在这里看到的最佳链接是: http : //blogs.msdn.com/b/markarend/archive/2010/05/27/using-session-state-in-sharepoint-2010.aspx
Joshua的解决方案帮助我指明了方向,但我不得不为我的场景做一些变化 – 一个部署到_layouts文件夹的ASP.NET 3.5 Web站点。
以下是适合我的步骤:
-
将Web站点的web.config中的
标记更改为 -
根据@Joshua的解决方案 ,在Sharepoint网站级别(不是整个IIS级别 – 根据@Joshua的解决方案破坏了管理中心,添加了System.Web.SessionState.SessionStateModule模块。)如果您正在部署Web应用程序而不是在网站上,您需要在Web应用程序级别添加它。
将下面的SessionState HTTPModule添加到web.config似乎对我没有影响,可能是因为我使用的是Sharepoint的web.config,因为我的项目是一个Web站点而不是Web应用程序。 在这个问题上不太清楚。
如下所示:
modules是一个xml标记。 我不知道为什么,这篇文章没有采用xml标签..
谢谢
颂歌