RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece el URI para la llamada posterior al Marshal(MarshalByRefObject) método .
public:
static void SetObjectUriForMarshal(MarshalByRefObject ^ obj, System::String ^ uri);
public static void SetObjectUriForMarshal(MarshalByRefObject obj, string uri);
static member SetObjectUriForMarshal : MarshalByRefObject * string -> unit
Public Shared Sub SetObjectUriForMarshal (obj As MarshalByRefObject, uri As String)
Parámetros
Objeto para el que se va a establecer un URI.
- uri
- String
Identificador URI que se va a asignar al objeto especificado.
Excepciones
obj no es un objeto local, ya se ha serializado o ya se ha llamado al método actual.
Al menos uno de los autores de llamada más altos en la pila de llamadas no tiene permiso para configurar tipos y canales de comunicación remota.
Ejemplos
En el ejemplo de código siguiente se muestra cómo establecer el URI que usará el Marshal método al serializar el objeto especificado.
using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Security::Permissions;
public ref class SetObjectUriForMarshalTest
{
public:
ref class TestClass: public MarshalByRefObject{};
[SecurityPermissionAttribute(SecurityAction::Demand, Flags=SecurityPermissionFlag::RemotingConfiguration)]
static void Main()
{
TestClass^ obj = gcnew TestClass;
RemotingServices::SetObjectUriForMarshal( obj, "testUri" );
RemotingServices::Marshal(obj);
Console::WriteLine( RemotingServices::GetObjectUri( obj ) );
}
};
using System;
using System.Runtime.Remoting;
public class SetObjectUriForMarshalTest {
class TestClass : MarshalByRefObject {
}
public static void Main() {
TestClass obj = new TestClass();
RemotingServices.SetObjectUriForMarshal(obj, "testUri");
RemotingServices.Marshal(obj);
Console.WriteLine(RemotingServices.GetObjectUri(obj));
}
}
Imports System.Runtime.Remoting
Imports System.Security.Permissions
Public Class SetObjectUriForMarshalTest
Class TestClass
Inherits MarshalByRefObject
End Class
<SecurityPermission(SecurityAction.Demand, Flags:= SecurityPermissionFlag.RemotingConfiguration )> _
Public Shared Sub Main()
Dim obj As TestClass = New TestClass()
RemotingServices.SetObjectUriForMarshal(obj, "testUri")
RemotingServices.Marshal(obj)
Console.WriteLine(RemotingServices.GetObjectUri(obj))
End Sub
End Class
Comentarios
El URI establecido por el método actual se usa al serializar el objeto especificado.
Después de serializar, el URI del objeto especificado se establece en la cadena del uri parámetro anexado al Guid de la clase actual AppDomain.
Si la aplicación actual escucha en un puerto HTTP, la cadena especificada en el uri parámetro y la uri cadena anexada a la Guid de la ruta actual AppDomain al objeto especificado. Por ejemplo, si la aplicación escucha en el puerto HTTP 9000, y http://localhost:9000/objectUrihttp://localhost:9000/<appdomainguid>/objectUri enruta al objeto especificado en el obj parámetro .