Sitecore: общий сеанс на сервере CM

Эта страница на сайте документации Sitecore отмечает ,что» общее состояние сеанса не поддерживается на серверах управления содержимым», но не упоминает почему. Кто-нибудь знает почему?

У нас есть тестовая установка с двумя серверами, где один сервер является выделенным сервером доставки контента, а другой-комбинированным сервером доставки контента/управления контентом (комбинированный сервер был выбран для снижения затрат на лицензию). Мы надеемся узнать, будет ли общий сеанс out-proc работать в этой установке.

1 ответ

  1. Как указано, серверы CM не поддерживают общие состояния сеанса, т. е. они не поддерживают StateServeror SQLServer. Серверы CM должны быть настроены InProc. Одна из причин этого-контроль правок. Если редактор содержимого перемещался между серверами CM, некоторые данные могут сохраняться неправильно.

    Так как Вы делитесь серверами для CM и CD, вы не сможете использовать out of proc.

    С точки зрения безопасности я не рекомендую делиться вашим CD и CM сервером. Сервер CM не должен быть доступен в рабочей среде. Стоимость дополнительной лицензии CD весит стоимость экспонирования сервера CM.

    Edit: начиная с Sitecore 6.5 U5, выход из состояния сеанса proc стал экспериментальным. Это означает, что вы не можете получить поддержку для него.

    Я добавляю версии к ответу для поддержки CM. Примечание: поддержка только экспериментальная, и я не рекомендую использовать его на серверах Sitecore CM
    Согласно базе знаний Sitecore https://kb.sitecore.net/articles/901069 , следующие заметки поддержки были абстрагированы для серверов CM:

    • Sitecore 6.5.0 обновление-4 и более ранних версий-только InProc
    • Sitecore 6.5.0 Update-5 (Service Pack-1) — «экспериментальная поддержка использования клиентов Sitecore с SqlServer, StateServer и другими режимами состояния сеанса вне процесса начиная с CMS 6.5.0 Update-5.
      Основные функции, такие как редактирование контента и публикация, должны работать так, как ожидается, но мы знаем о ряде проблем, которые еще не были решены, поэтому функция может быть использована для оценки этой функциональности, но пока не считается готовой к производству.»
    • Sitecore 7.0 Update-3-дополнительные исправления
    • Sitecore 7.5 Initial Release-найдены ошибки сериализации
      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)
      ...
    • Sitecore 7.5 Update-1-исправлена сериализация и дополнительные исправления