2013-03-04 56 views
1

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

我也看到了PowerShell命令以下MSDN文章在数据库中配置会话状态:http://technet.microsoft.com/en-us/library/ee890113.aspx。数据库是存储会话状态的首选方式,而不是SharePoint 2013的分布式缓存?

还有没有其他的替代品也可用于存储会话状态在SharePoint 2013?

回答

1

通常你将不得不使用从您链接到文章Enable-SPSessionStateService PowerShell命令使用SharePoint会话状态服务。

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

的服务依赖于天青或更具体的AppFabric缓存架构。你可以实现你自己的东西来访问这个缓存框架如下解释:

正如前文所说,SharePoint使用会话状态服务,这反过来使用标准的ASP.NET会话状态:

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

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

+1

感谢@moontear的快速回复。有一篇msdn文章提供了有关使用AppFabric Cache作为ASP.NET会话状态提供者的信息(http://msdn.microsoft.com/en-us/library/ee790859(v=azure.10).aspx)。我可以在SharePoint Web应用程序配置文件中做类似的更改,因此可以使用AppFabric Cache作为会话提供程序吗?是否有任何其他具体更改需要做,以使其适用于SharePoint?我想避免SQL Server,因为AppFabric会为会话状态提供更好的性能。 – Gaurav 2013-03-04 14:46:05

+0

很好找。是的,你通常可以做任何web.config修改。当然,这不会是微软的方式 - 所以基本上你必须尝试。 – 2013-03-04 15:11:27