我有一个为SharePoint 2007构建的Web服务,我正在尝试移植到SharePoint 2010.此Web服务依赖于会话状态才能正常运行,但到目前为止,我已启用会话状态才能正常工作在SharePoint 2010中。此Web服务在t下作为自己的Web应用程序运行
他/_vti_bin
虚拟目录。我已经尝试了以下所有但没有运气:
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文件中。其他环境信息:
有没有人有幸运行Web应用程序或 Web服务以在SharePoint 2010中使用会话状态?
谢谢!
史蒂夫
答案 0 :(得分:11)
你已经在互联网上的其他地方自己回答了这个问题。 :)
<httpModules>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</httpModules>
然后,您必须进入Web应用程序并将相同的会话状态模块添加到IIS7管理的管道。
打开IIS 7管理器,找到您的Web应用程序。
双击IIS部分中的“模块”。
点击右侧窗格中的“添加托管模块...”。
在“添加托管模块”对话框中,为名称输入"SessionState"
或类似内容,然后从下拉列表中选择以下项目:
System.Web.SessionState.SessionStateModule,System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
之后,应为您的网络应用/网络服务启用会话状态!
答案 1 :(得分:6)
您可能需要启用会话状态服务。使用PowerShell cmdlet Enable-SPSessionStateService。这将创建会话状态数据库并在SharePoint 2010中启动该服务。
参考资料: http://technet.microsoft.com/en-us/library/ee890113.aspx
答案 2 :(得分:2)
我在此处看到的最佳链接是:http://blogs.msdn.com/b/markarend/archive/2010/05/27/using-session-state-in-sharepoint-2010.aspx
答案 3 :(得分:1)
Joshua的解决方案帮助我指明了方向,但我不得不为我的场景做一些变化 - 一个部署到_layouts文件夹的ASP.NET 3.5网站。
以下是对我有用的步骤:
将网站的web.config中的<pages>
标记更改为<pages enableSessionState="true" />
在Sharepoint网站级别(不是整个IIS级别 - 添加了 System.Web.SessionState.SessionStateModule 模块 - 这会破坏管理中心,我尝试:()按照@Joshua的解决方案。如果您要部署Web应用程序而不是Web站点,则需要在Web应用程序级别添加它。
将下面的SessionState HTTPModule添加到web.config似乎对我没有影响,可能是因为我使用的是Sharepoint的web.config,因为我的项目是一个Web站点而不是Web应用程序。在这个问题上不太清楚。
<httpModules>
<add name = "Session" type = "System.Web.SessionState.SessionStateModule" />
</httpModules>
答案 4 :(得分:0)
如下所示:
<modules runAllManagedModulesForAllrequests>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</modules>
modules是一个xml标记。我不知道为什么,这篇文章没有采用xml标签..
由于
卡罗尔