2010-02-10 81 views
9

我有SharePoint 2007的,我想移植到SharePoint 2010的内置Web服务这样的网络服务依赖于会话状态正常工作,但到目前为止,我已经能够得到会话状态在所有的工作中此Web服务作为其自己的Web应用程序在虚拟目录下运行。我已经尝试了所有没有运气以下:在SharePoint 2010中启用会话状态?

  • 确保了“国家服务”的服务应用程序运行。
  • 增加了System.Web.SessionState.SessionStateModule HTTP模块,以我的应用程序的web.config文件。
  • 增加了System.Web.SessionState.SessionStateModule HTTP模块,我的SharePoint根web.config文件。
  • <pages enableSessionState="true" />添加到我的应用程序的web.config文件中。
  • <pages enableSessionState="true" />添加到我的根web.config文件中。

其他环境信息:

  • 的Visual Studio 2008 - SP1
  • .NET 3.5 - SP1
  • 的SharePoint 2010 - RC
  • 的Windows Server 2008 R2
  • ASMX Web服务(不WCF)

有没有人有任何运气获得Web应用程序 Web服务在SharePoint 2010中使用会话状态呢?

谢谢!

史蒂夫

回答

11

你已经在interweb回答这个自己在别处。 :)

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

那么,您必须进入您的Web应用程序并将相同的会话状态模块添加到IIS7托管管道。

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

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

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

  4. 在添加托管模块对话框中,输入"SessionState"或类似的东西的名称,并从下拉列表中选择以下项目:

    System.Web.SessionState.SessionStateModule,System.Web程序,版本= 2.0.0。0,文化=中性公钥= b03f5f7f11d50a3a

之后,会话状态应该为你的web应用程序/ Web服务启用!

+0

你是对的。我在几天后发现它,我更新了MSDN论坛,因为这个问题似乎引起了人们的兴趣。 – 2010-03-08 14:10:23

+0

似乎是的HttpModules元素是在2010年SP空的,没有人知道为什么吗? – Hinek 2010-04-14 12:53:55

+0

谢谢。它为我工作没有Web.Config变化 - “”仍然是空的,我只是添加了IIS模块。 – Kobi 2011-04-04 06:04:48

1

约书亚的解决方案帮助点我在正确的方向,但我不得不让我的情景一些变化 - 一个ASP.NET 3.5 Web站点部署到_layouts文件夹中。

这里是为我工作的步骤:

  1. 改变<pages>标签在web.config的网站以<pages enableSessionState="true" />

  2. 新增的System.Web.SessionState.SessionStateModule模块在在SharePoint网站的水平(而不是整个IIS水平 - 这将打破管理中心,我试过:()。按@约书亚的解决方案,如果要部署Web应用程序,而不是一个网站,你会想要在您的Web应用程序级别添加它。

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

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

做象下面这样:

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

模块是一个XML标签。我不知道为什么,这个帖子没有采取XML标签..

感谢

卡罗尔