Procedura: creare un tipo remotizzabile
Se si desidera che un'istanza di una classe specifica sia utilizzabile da oggetti di altri domini di applicazione, e` necessario che la classe erediti da MarshalByRefObject. Nella procedura seguente viene illustrato come creare un semplice oggetto che puo` essere creato e richiamato da oggetti in esecuzione in un altro dominio di applicazione.
Per creare un tipo remotizzabile
Definire una classe che deriva dalla classe MarshalByRefObject.
Public Class CustomRemotableException Inherits RemotingException … End Class
public class CustomRemotableException : RemotingException, ISerializable { … }
Implementare i metodi e le proprieta` per la classe specificata in modo analogo all'implementazione di un tipo non remotizzabile.
Private StringValue As String = "This is the RemotableType." Public Function StringMethod() As String Return StringValue End Function 'StringMethod
private string StringValue = "This is the RemotableType."; public string StringMethod(){ return StringVale; }
Salvare la classe come
Filename
.estensione_linguaggio oppure utilizzare un altro nome di file, in cui l'estensione del linguaggio indica il linguaggio di compilazione, quindi digitare il comando seguente al prompt dei comandi nella directory in cui il file e` stato salvato:vbc /t:library Filename.vb
csc /noconfig /t:library RemotableType.cs
Esempio
' RemotableType.vb
Imports System
Public Class RemotableType
Inherits MarshalByRefObject
Private StringValue As String = "This is the RemotableType."
Public Function StringMethod() As String
Return StringValue
End Function 'StringMethod
End Class 'RemotableType
// RemotableType.cs
using System;
public class RemotableType : MarshalByRefObject{
private string StringValue = "This is the RemotableType.";
public string StringMethod(){
return StringVale;
}
}
Vedere anche
Attività
Procedura: creare un'applicazione host
Riferimenti
Concetti
Configurazione di applicazioni remote
Attivazione da server
Altre risorse
Generazione di un'applicazione .NET Framework Remoting di base