Журналы Sitecore 7.5 TypeLoadExceptionHolder нельзя преобразовать в тип Sitecore.Analytics.Model.Framework.IFacet
У меня следующая ошибка в журналах Sitecore 7.5. Есть идеи, почему мы получаем эту ошибку?
9660 13:14:42 INFO HttpModule is being initialized Heartbeat 13:15:26 ERROR Exception in alarm clock event subscriber. Exception: System.ArgumentException Message: Object of type 'System.Runtime.Serialization.TypeLoadExceptionHolder' cannot be converted to type 'Sitecore.Analytics.Model.Framework.IFacet'. Source: mscorlib at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast) at System.Reflection.RtFieldInfo.UnsafeSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture) at System.Runtime.Serialization.ObjectManager.DoValueTypeFixup(FieldInfo memberToFix, ObjectHolder holder, Object value) at System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete) at System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder holder) at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex) at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString) at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr) at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage) at Sitecore.Analytics.Data.DataAccess.SubmitQueue.FileSubmitQueue.Dequeue() at Sitecore.Analytics.SubmitQueueService.WakeUp() at Sitecore.Services.AlarmClock.Heartbeat_Beat(Object sender, EventArgs e)
1 ответ
Похоже, что-то есть с очередью отправки.
Взгляните на папку "Отправить очередь" в каталоге "Папка данных" Sitecore. Удалите неправильные файлы и проверьте права доступа к файлам.
В моем случае (я использую Sitecore 9) типы фасетов также изменились, и некоторые из старых объектов фасетов остались сериализованными на диске в папке ~\Website\App_Data\Submit Queue. После удаления файла в этой папке проблема устранена. Причина, по которой Sitecore хранит объекты фасетов, заключается в том, что если xConnect по какой-либо причине недоступен, текущий сеанс сериализуется (включая информацию о контактах и фасеты) и записывается в папку ~\Website\App_Data\Submit Queue. Затем Sitecore повторяет отправку данных этого сеанса в xConnect через определенные промежутки времени.