Случайное исключение SerializationException при вызове надежного актера до его активации - PullRequest
0 голосов
/ 24 марта 2019

Мы получаем случайные исключения сериализации при вызове службы Reliable Actor, такой как:

Тип: System.Runtime.Serialization.SerializationException Сообщение: Элемент 'http://schemas.microsoft.com/2003/10/Serialization/:anyType' содержит данные из сопоставляемого типак имени 'urn: ServiceFabric.Communication: ServiceResponseMessageHeaders'.Десериализатор не знает ни одного типа, который сопоставляется с этим именем.Рассмотрите возможность использования DataContractResolver, если вы используете DataContractSerializer или добавьте тип, соответствующий ServiceResponseMessageHeaders, в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавив его в список известных типов, переданных в сериализатор.ToString: System.Runtime.Serialization.SerializationException: Элемент 'http://schemas.microsoft.com/2003/10/Serialization/:anyType' содержит данные типа, который сопоставляется с именем

. После исследований многие говорят, что это проблема удаленного взаимодействия библиотеки v1, v2.Однако у нас есть атрибут сборки удаленного взаимодействия v2, определенный во всех сборках actor.interface.

[Assembly: FabricTransportActorRemotingProvider (RemotingListenerVersion = RemotingListenerVersion.V2, RemotingClientVersion = RemotingClientVersion.V2)]

Также исключение не происходит в 100% случаев;это происходит совершенно случайно.Обычно в такой схеме:

  1. Не удалось вызвать службу актера.Исключение сериализации.
  2. После нескольких попыток мы видим сообщение "Актер активирован".
  3. Вызов актера работает сейчас.

Кажется, это происходит до того, какАктер активирован.Почему так происходит?

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