2010-05-24 15 views
2

Nous savons que MarshalByRef nous permet de créer un objet dans un AppDomain différent et d'utiliser un objet Proxy pour y accéder. Et le comportement de cet objet est dans un contexte différent de l'AppDomain où il vit réellement. Eh bien, cela semble assez reseaonable en ce qui concerne l'isolement et la sécurité.Quel est le but de MarshalByValue Object?

Mais pourquoi existe-t-il encore MarshalByValue? MarshalByValue conduit juste à un objet nouvellement désérialisé qui est une copie exacte de l'objet dans un AppDomain différent. Si nous avons besoin de cet objet, pourquoi ne pas le créer dans l'AppDomain actuel? Pourquoi prendre la peine de le créer dans un AppDomain différent et de le récupérer par MarshaoByValue?

Merci beaucoup.

Répondre

2

Extrait du MSDN: -

Lors de l'examen MarshalByRefObject objets, tous les appels sur l'objet sont allers-retours au serveur. Parfois, un objet qui est marshalé par la valeur plutôt que par référence est requis, de sorte que les appels suivants à l'objet marshalé seront locaux plutôt que que distants. Dans DCOM, la mise en œuvre marshal-by-value objets requis travail substantiel. Avec .NET remoting, tout ce qui est requis est que l'objet renvoyé par valeur est sérialisable.

+0

Vous êtes génial. :) – smwikipedia

Questions connexes