Ошибка "Не удалось выполнить действия при посещении" в 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. Решение состоит в том, чтобы найти все ссылки на эти основные базы данных и исправить их для замены на веб-страницу или полностью удалить настройку, если она не нужна в контексте сервера доставки.