RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Imposta l'URI per la chiamata successiva al Marshal(MarshalByRefObject) metodo .
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)
Parametri
Oggetto per cui impostare un URI.
- uri
- String
URI da assegnare all'oggetto specificato.
Eccezioni
obj non è un oggetto locale, è già stato effettuato il marshalling o il metodo corrente è già stato chiamato su .
Almeno uno dei chiamanti più in alto nello stack di chiamate non dispone dell'autorizzazione per configurare tipi e canali remoti.
Esempio
Nell'esempio di codice seguente viene illustrato come impostare l'URI che verrà utilizzato dal metodo durante il Marshal marshalling dell'oggetto specificato.
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
Commenti
L'URI impostato dal metodo corrente viene usato durante il marshalling dell'oggetto specificato.
Dopo il marshalling, l'URI dell'oggetto specificato viene impostato sulla stringa nel uri parametro aggiunto all'oggetto Guid dell'oggetto corrente AppDomain.
Se l'applicazione corrente è in ascolto su una porta HTTP, sia la stringa specificata nel uri parametro che la uri stringa aggiunta all'oggetto Guid della route corrente AppDomain all'oggetto specificato. Ad esempio, se l'applicazione è in ascolto sulla porta HTTP 9000, sia http://localhost:9000/objectUrihttp://localhost:9000/<appdomainguid>/objectUri e indirizzare all'oggetto specificato nel obj parametro .