Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo RemotingServices.Marshal (MarshalByRefObject, String, Type)

 

Accetta un MarshalByRefObject e lo converte in un'istanza di ObjRef classe con l'oggetto URI e forniti Type.

Spazio dei nomi:   System.Runtime.Remoting
Assembly:  mscorlib (in mscorlib.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.RemotingConfiguration)]
public static ObjRef Marshal(
	MarshalByRefObject Obj,
	string ObjURI,
	Type RequestedType
)

Parametri

Obj
Type: System.MarshalByRefObject

Oggetto da convertire in un oggetto ObjRef.

ObjURI
Type: System.String

L'oggetto specificato nell'URI di Obj con parametri vengano effettuato il marshalling. Può essere null.

RequestedType
Type: System.Type

Il TypeObj viene sottoposto a marshalling come. Può essere null.

Valore restituito

Type: System.Runtime.Remoting.ObjRef

Un'istanza di ObjRef classe che rappresenta l'oggetto specificato nel Obj parametro.

Exception Condition
RemotingException

Obj è un proxy di un oggetto remoto e il ObjUri parametro non è null.

SecurityException

Almeno uno dei chiamanti nello stack di chiamate non dispone dell'autorizzazione per configurare i tipi e canali remoti.

Oggetto ObjRef è una rappresentazione serializzabile di un oggetto utilizzato per trasferire un riferimento all'oggetto oltre i limiti di un dominio applicazione. Creazione di un ObjRef per un oggetto è noto come marshalling. Il ObjRef può essere trasferita tramite un canale in un altro dominio applicazione (possibilmente in un altro processo o computer). Una volta in altro dominio applicazione, il ObjRef deve essere analizzata per creare un proxy per l'oggetto, in genere connesso all'oggetto reale. Questa operazione è nota come l'unmarshalling.

Oggetto ObjRef contiene informazioni che descrivono il Type e classe dell'oggetto di cui effettuare il marshalling, un URI che identifica in modo univoco l'istanza dell'oggetto specifico e comunicazione correlata informazioni su come raggiungere la suddivisione remota in cui si trova l'oggetto.

Specificato Type viene utilizzata dall'infrastruttura .NET remoting per limitare l'ambito della gerarchia dei tipi esposti. Ad esempio, se l'oggetto a deriva dall'oggetto B, che deriva dall'oggetto C, e Marshal viene chiamato, il client può eseguire il cast del proxy tra C e B ma non in A.

Durante il marshalling, viene utilizzato il contesto del thread corrente, non il contesto che era attivo quando è stato creato l'oggetto.

Non è possibile associare un URI con un proxy per uno dei due motivi: generato sul lato server per l'oggetto che rappresenta l'URI o l'oggetto è ben noto, nel qual caso l'URI è noto. Per questo motivo, se il Obj parametro è un proxy, verrà generata un'eccezione. Per i proxy personalizzati questa limitazione è ridotta perché il proxy trasparente viene considerato come l'oggetto server.

SecurityPermission

for configuration of the remoting infrastructure. Demand value: F:System.Security.Permissions.SecurityAction.Demand; Permission value: F:System.Security.Permissions.SecurityPermissionFlag.RemotingConfiguration

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: