Freigeben über


RemotingServices.SetObjectUriForMarshal-Methode

Legt den URI für den nachfolgenden Aufruf der Marshal-Methode fest.

Namespace: System.Runtime.Remoting
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Sub SetObjectUriForMarshal ( _
    obj As MarshalByRefObject, _
    uri As String _
)
'Usage
Dim obj As MarshalByRefObject
Dim uri As String

RemotingServices.SetObjectUriForMarshal(obj, uri)
public static void SetObjectUriForMarshal (
    MarshalByRefObject obj,
    string uri
)
public:
static void SetObjectUriForMarshal (
    MarshalByRefObject^ obj, 
    String^ uri
)
public static void SetObjectUriForMarshal (
    MarshalByRefObject obj, 
    String uri
)
public static function SetObjectUriForMarshal (
    obj : MarshalByRefObject, 
    uri : String
)

Parameter

  • obj
    Das Objekt, für den ein URI festgelegt werden soll.
  • uri
    Der URI, der dem angegebenen Objekt zugewiesen werden soll.

Ausnahmen

Ausnahmetyp Bedingung

RemotingException

obj ist kein lokales Objekt, wurde bereits gemarshallt, oder die aktuelle Methode wurde bereits aufgerufen.

SecurityException

Mindestens einer der Aufrufer an höherer Position im Aufrufstapel verfügt nicht über die Berechtigung zum Konfigurieren von Remotetypen und Channels.

Hinweise

Der von der aktuellen Methode festgelegte URI wird beim Marshallen des angegebenen Objekts verwendet.

Nach dem Marshallen wird der URI des angegebenen Objekts auf die Zeichenfolge im uri-Parameter festgelegt, der der Guid der aktuellen AppDomain angefügt ist.

Wenn die aktuelle Anwendung einen HTTP-Anschluss überwacht, erfolgt die Weiterleitung an das angegebene Objekt sowohl anhand der im uri-Parameter angegebenen Zeichenfolge als auch anhand der uri-Zeichenfolge, die an die Guid der aktuellen AppDomain angefügt ist. Wenn die Anwendung z. B. den HTTP-Anschluss 9000 überwacht, erfolgt die Weiterleitung an das im obj-Parameter angegebene Objekt sowohl mit https://localhost:9000/objectUri als auch mit https://localhost:9000/<appdomainguid>/objectUri.

Beispiel

Im folgenden Codebeispiel wird das Festlegen des URI veranschaulicht, den die Marshal-Methode beim Marshallen des angegeben Objekts verwendet.

Imports System
Imports System.Runtime.Remoting
Imports System.Security.Permissions

Public Class SetObjectUriForMarshalTest
    
    Class TestClass
        Inherits MarshalByRefObject
    End Class

    <SecurityPermission(SecurityAction.LinkDemand)> _
    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
using System;
using System.Runtime.Remoting;
using System.Security.Permissions;

public class SetObjectUriForMarshalTest  {

    class TestClass : MarshalByRefObject {
    }

    [SecurityPermission(SecurityAction.LinkDemand)]
    public static void Main()  {

        TestClass obj = new TestClass();    

        RemotingServices.SetObjectUriForMarshal(obj, "testUri");
        RemotingServices.Marshal(obj);

        Console.WriteLine(RemotingServices.GetObjectUri(obj));
    }
}
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::Infrastructure)]   
   static void Main()
   {
      TestClass^ obj = gcnew TestClass;
      RemotingServices::SetObjectUriForMarshal( obj,  "testUri" );
      RemotingServices::Marshal(obj);
      Console::WriteLine( RemotingServices::GetObjectUri( obj ) );
   }

};

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

RemotingServices-Klasse
RemotingServices-Member
System.Runtime.Remoting-Namespace
Uri
Guid