1

我们正在开发基于 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 中存储会话状态?

4

1 回答 1

1

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

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

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

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

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

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

于 2013-03-04T13:27:39.267 回答