что происходит, когда объект происходит от MarshalByRefObject и также помечается как [Serializable]? - PullRequest
3 голосов
/ 10 января 2012

Я работаю над своим первым проектом, в котором используются домены приложений, и мне интересно, что происходит, когда объект наследуется от MarshalByRefObject и также помечен как [Serializable]?

, например:

[Serializable]
public class DummyClass: MarshalByRefObject
{

}

1 Ответ

1 голос
/ 10 января 2012

Он распределяется по ссылке, но все же может быть сериализован для других сценариев использования для сериализации.В этом есть интересная деталь реализации, которую стоит отметить: модуль форматирования, который сериализует для удаленного взаимодействия, использует SurrogateSelector, который будет создавать прокси для любых MarshalByRefObject, которые он сериализует, поэтому сериализация все равно приведет к маршаллингу по ссылке.Другие варианты сериализации не будут иметь этого SurrogateSelector, и поэтому не будут иметь такого эффекта.

...