我在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)
答案 0 :(得分:1)
看来提交队列中有一些东西。
查看Sitecore“Datafolder”目录中的“Submit Queue”文件夹。 删除错误的文件并检查文件权限。
答案 1 :(得分:0)
在我的情况下(我正在运行Sitecore 9),构面类型也发生了变化,某些旧构面对象仍在〜\ Website \ App_Data \ Submit Queue文件夹中的磁盘上进行了序列化。删除该文件夹中的文件后,问题已解决。 Sitecore之所以存储构面对象的原因是,如果由于某种原因xConnect不可用,则当前会话将被序列化(包括联系人信息和构面),并被写入〜\ Website \ App_Data \ Submit Queue文件夹。然后,Sitecore会按一定的时间间隔重试将此会话数据发送到xConnect。