当调用像这样的可靠Actor服务时,我们会得到随机的序列化异常:
类型:System.Runtime.Serialization.SerializationException 消息:元素“ http://schemas.microsoft.com/2003/10/Serialization/:anyType”包含映射到名称“ urn:ServiceFabric.Communication:ServiceResponseMessageHeaders”的类型的数据。解串器不知道任何映射到该名称的类型。如果您正在使用DataContractSerializer或将与“ ServiceResponseMessageHeaders”相对应的类型添加到已知类型的列表中,请考虑使用DataContractResolver-例如,通过使用KnownTypeAttribute属性或将其添加到传递给序列化程序的已知类型的列表中。 ToString:System.Runtime.Serialization.SerializationException:元素'http://schemas.microsoft.com/2003/10/Serialization/:anyType'包含来自映射到名称
的类型的数据经过研究,许多人说这是远程处理v1,v2库不匹配的问题。但是,我们在所有actor.interface程序集中都定义了v2远程程序集属性。
[程序集:FabricTransportActorRemotingProvider(RemotingListenerVersion = RemotingListenerVersion.V2,RemotingClientVersion = RemotingClientVersion.V2)]
此外,异常不会100%发生;它完全随机发生。通常是这样的模式:
这似乎是在激活actor之前发生的。为什么会这样发生?