У меня есть небольшой класс, который я сделал потокобезопасным с помощью атрибута [Synchronization], он также реализует интерфейс ContextBoundObject.Я хотел бы сделать этот класс [Serializable].Код компилируется, но я получаю исключение
System.Runtime.Remoting.RemotingException: Remoting cannot find field '__identity' on type 'System.MarshalByRefObject'
.Я знал, что классы, помеченные [Синхронизация], доступны через некоторый «удаленный» прокси, но я надеялся, что механизм сериализации по умолчанию будет работать.
Это небольшое приложение, класс представляет собой последовательность в памяти (целоеid) генератор, так что никакого реального удаленного взаимодействия не происходит.Я предполагаю, что могу синхронизироваться другими способами (ключевое слово lock), но я хотел бы знать, каково стандартное решение этой проблемы.
Обновление: в конце я отказался от [Синхронизация] для использования базовой сериализации.