This page指出“内容管理服务器不支持共享会话状态”,但未提及原因。有人知道那是为什么吗?
我们有两个服务器的测试设置,其中一个服务器是专用内容交付服务器,另一个是组合内容交付/内容管理服务器(选择组合服务器以降低许可证成本)。我们希望了解共享的out-proc会话是否可以在此设置中工作。
答案 0 :(得分:0)
如上所述,CM服务器不支持共享会话状态,即它们不支持StateServer
或SQLServer
。必须配置CM服务器InProc
。其中一个原因是控制编辑。如果内容编辑器在CM服务器之间被退回,则可能无法正确保留某些数据。
由于您正在共享CM和CD的服务器,因此您将无法使用proc。
从安全角度来看,我不建议共享您的CD和CM服务器。您的CM服务器不应在生产环境中可用。额外CD许可证的成本会影响暴露CM服务器的成本。
编辑:从Sitecore 6.5 U5开始,proc会话状态变为实验状态。这意味着你无法获得支持。
我正在为CM支持的答案添加版本。 注意:支持仅是实验性的,我不建议您在Sitecore CM服务器上使用 根据Sitecore知识库https://kb.sitecore.net/articles/901069,已为CM服务器提取了以下支持说明:
InProc
ERROR Application error.
Exception: System.Web.HttpException
Message: Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.
Source: System.Web
at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer)
at System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer)
at System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer)
...