用于存储会话状态的SharePoint 2013分布式缓存服务

时间:2013-03-04 12:15:39

标签: sharepoint sharepoint-2010 sharepoint-2013

我们正在开发基于SharePoint 2013 Foundation的解决方案。 SharePoint 2013中提供了一个新的分布式缓存服务。当我们检查web.config以查找新的示例SharePoint Web应用程序时,我们发现它已配置为使用“进程内”模式来存储会话状态。我们可以利用此分布式缓存服务来存储会话状态吗?

此外,我在以下msdn文章中看到了用于在数据库中配置会话状态的powershell cmdlet:http://technet.microsoft.com/en-us/library/ee890113.aspx。数据库是存储会话状态的首选方式,而不是SharePoint 2013的分布式缓存吗?

是否还有其他替代方法可用于在SharePoint 2013中存储会话状态?

1 个答案:

答案 0 :(得分:1)

通常,您必须使用链接到的文章中的Enable-SPSessionStateService PowerShell cmdlet来使用SharePoint会话状态服务。

SharePoint分布式缓存服务适用于可缓存项目,尤其是Feed,登录标记和应用程序标记。我没有看到会话状态提供程序的实现。这里有关于分布式缓存服务的一个很好的解释:

该服务依赖于Azure或更具体地依赖于AppFabric缓存基础结构。您可以实现自己的东西来访问此缓存框架,如下所述:

如前所述,SharePoint使用会话状态服务,后者又使用标准的ASP.NET会话状态:

正如您所说,状态服务的默认模式设置为In-Proc(在内存中)。您通常会将其设置为SQLServer,以便将会话状态保存到某个数据库,并且可以由多个服务器检索。您在帖子中链接的PowerShell cmdlet会自动为您执行此操作。

简而言之:通过实现自己的ASP.NET会话状态处理程序,您可以规避正常的SharePoint状态服务并利用分布式缓存,但这并不容易,也许只使用State数据库会更容易。