Добрый вечер. Задача следующая: есть объект, кторый должен быть доступен через remoting. В то же время, этот объект должен быть сериализуем (т.е. обладать возможностью сериализации-десериализации).
Делаю так: объявляю класс наследником MarshalByRefObject, ставлю атрибут Serializable — все нормально, объект сериализуется/десериализуется.
Далее: после того, как начинаю работать с Remoting, объект начисто отказывается сериализоваться.
Ругается "The type System.Runtime.Remoting.ServerIdentity in Assembly mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 is not marked as serializable.".
Решаю это так:
http://www.rsdn.ru/Forum/Message.aspx?mid=802102&only=1Автор: Syffest
Дата: 09.09.04
Теперь наш объект:
а) нормально маршалится (RemotingServices.Marshal)
б) нормально доступен через Remoting
в) нормально сериализуется
г) нормально десериализуется
Но: после десериализации перестает работать маршалинг. Попытка вызвать RemotingServices.Marshal на десериализованный объект приводит к ошибке "Object reference not set to an instance of an object".
Помогите, пожалуйста, решить эту проблему...