在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管理的管道。

  1. 打开IIS 7管理器,找到您的Web应用程序。

  2. 双击IIS部分中的“模块”。

  3. 单击右侧窗格中的“添加托管模块…”。

  4. 在“添加托管模块”对话框中,输入"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站点。

以下是适合我的步骤:

  1. 将Web站点的web.config中的标记更改为

  2. 根据@Joshua的解决方案 ,在Sharepoint网站级别(不是整个IIS级别 – 根据@Joshua的解决方案破坏了管理中心,添加了System.Web.SessionState.SessionStateModule模块。)如果您正在部署Web应用程序而不是在网站上,您需要在Web应用程序级别添加它。

将下面的SessionState HTTPModule添加到web.config似乎对我没有影响,可能是因为我使用的是Sharepoint的web.config,因为我的项目是一个Web站点而不是Web应用程序。 在这个问题上不太清楚。

    

如下所示:

     

modules是一个xml标记。 我不知道为什么,这篇文章没有采用xml标签..

谢谢

颂歌