2012-01-10 8 views
3

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

, например:

[Serializable] 
public class DummyClass: MarshalByRefObject 
{ 

} 
+0

Он становится сериализуемым? Что значит «что происходит»? Вы прочитали документацию по этим двум предметам? –

+2

@CodyGray: Если вы спрашиваете, что происходит? то вы не знакомы с удалением .NET. – leppie

+2

@Ravi: Я думаю, что лучше всего настроить небольшой серверный сценарий и протестировать его :) Возможно, выведенный из 'MarshalByRefObject' будет« вето »сериализуемым. – leppie

ответ

1

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

+0

В чем смысл маршаллинга здесь, можете ли вы подробно рассказать? –

+0

@EhsanSajjad, это больше отдельный вопрос, чем комментарий к этому вопросу и ответ. Тот, который, возможно, дублируется по http://stackoverflow.com/questions/5600761/what-is-marshalling-what-is-happening-when-something-is-marshalled и, безусловно, должен отвечать за работу в Google. –

+0

Я спросил несколько секунд назад: http://stackoverflow.com/questions/34295644/what-does-actually-marshalbyref-means –

 Смежные вопросы

  • Нет связанных вопросов^_^