Ошибка "Не удалось выполнить действия при посещении" в 6.6

Sitecore 6,6

Я получаю следующие сообщения в моих файлах журнала после запуска нового сайта в нашем экземпляре Sitecore:

19224 10:04:41 ERROR Failed to perform Visit End actions
Exception: System.InvalidCastException
Message: Unable to cast object of type 'Sitecore.Web.SessionEndWorkerRequest' to type 'System.Web.Hosting.IIS7WorkerRequest'

Другие сайты, которые уже работали в течение некоторого времени, не отображали эти сообщения об ошибках.

У нас есть один CM-сервер с двумя отдельными CD-серверами, которые не имеют доступа к master база данных.

При исследовании ошибки многие люди отмечают, что вы должны удалить ссылки на master базы данных, но у меня нет, насколько я могу судить. Я использовал файл "SwitchMasterToWeb.config".

Есть идеи?

Спасибо!

2 ответа

Вы, наверное, уже забыли об этом, но так как вы сказали, что вам будет интересно...

Похоже на сообщение об ошибке Failed to perform Visit End actions ошибка возникнет из-за исключения в конвейере visitEnd, который обычно настраивается в файле Sitecore.Analytics.config. Я не уверен, почему отслеживание невыполненных запросов повлияет на это. Проверьте следующее:

  • Есть ли у вас какие-либо пользовательские процессоры для конвейера посещения?
  • У вас есть пользовательские правила, определенные в /sitecore/system/Settings/Analytics/Rules/Session End/Rules?
  • У вас есть правило, определенное на /sitecore/system/Settings/Analytics/Page Events/Session End вещь?

Если там все будет нормально, я думаю, ты в безопасности.

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

ERROR Failed to perform Visit End actions 
Exception: System.InvalidOperationException 
Message: Could not find configuration node: databases/database[@id='master'] 
Source: Sitecore.Kernel 
   at Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String message) 
   at Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert) 
   at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) 
   at Sitecore.Configuration.Factory.GetDatabase(String name) 
   at Sitecore.Analytics.Pipelines.VisitEnd.RunRules.Process(VisitEndArgs endArgs) 
   at (Object , Object[] ) 
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) 
   at Sitecore.Analytics.VisitEndWorker.Helper.Process(Action visitEndAction)

Чтобы это исправить, вам нужно создать новый файл с именем Sitecore.Analytics.DefaultDefinitionDatabase.config со следующими конфигами, добавленными в него:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <settings>
            <setting name="Analytics.DefaultDefinitionDatabase">
                <patch:attribute name="value">web</patch:attribute>
            </setting>
        </settings>
  </sitecore>
</configuration>

Примечание. В настоящее время этот параметр не находится ни в одном файле, он жестко запрограммирован в DLL-библиотеке Analytics, и значением по умолчанию для этого параметра является "master", поэтому вы ДОЛЖНЫ создать новый файл конфигурации, чтобы переопределить этот параметр. Если вы по-прежнему получаете сообщение об ошибке, может быть больше ссылок на master в файлах конфигурации, которые были добавлены после стандартной установки. Два примера - это модуль News Mover и Advanced Database Crawler. Решение состоит в том, чтобы найти все ссылки на эти основные базы данных и исправить их для замены на веб-страницу или полностью удалить настройку, если она не нужна в контексте сервера доставки.

Ссылка: http://www.sitecoredevelopment.com/MarkGraber/2013/June/Tips-on-Setting-up-a-Content-Delivery-Server-with-No-Master-Database.aspx

Другие вопросы по тегам