我们正在开发基于SharePoint 2013基础的解决方案。SharePoint 2013中提供了一项新的分布式缓存服务。当我们检查一个新的示例SharePoint web应用程序的web.config时,我们发现它被配置为使用"In-proc“模式来存储会话状态。我们可以利用这种分布式缓存服务来存储会话状态吗?
我还在下面的msdn文章中看到了用于在数据库中配置会话状态的powershell cmdlet:http://technet.microsoft.com/en-us/library/ee890113.aspx。对于SharePoint 2013,数据库是否是存储会话状态的首选方法,而不是分布式缓存?
在SharePoint 2013中是否还有其他可用来存储会话状态的替代方案?
发布于 2013-03-04 21:27:39
通常,您必须通过使用链接到的文章中的Enable-SPSessionStateService PowerShell cmdlet来使用SharePoint会话状态服务。
SharePoint分布式缓存服务适用于可缓存的项目,尤其是摘要、登录令牌和应用程序令牌。我没有看到会话状态提供程序的实现。这里有一个关于分布式缓存服务的很好的解释:
该服务依赖于Azure,或者更具体地说,依赖于AppFabric缓存基础设施。你可以实现你自己的东西来访问这个缓存框架,如下所述:
如前所述,SharePoint使用会话状态服务,该服务又使用标准的ASP.NET会话状态:
正如您所说的那样,状态服务的默认模式设置为In-Proc (在内存中)。您通常要做的是将其设置为SQLServer,以便将会话状态保存到某个数据库中,并可由多个服务器检索。你在帖子中链接的PowerShell cmdlet会自动为你做到这一点。
因此,简而言之:通过实现您自己的ASP.NET会话状态处理程序,您可以绕过普通的SharePoint状态服务并利用分布式缓存,然而这并不容易,也许只使用状态数据库会更容易。
https://stackoverflow.com/questions/15201364
复制相似问题