Freigeben über


ITrackingHandler.MarshaledObject-Methode

Benachrichtigt die aktuelle Instanz, dass ein Objekt gemarshallt wurde.

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

Syntax

'Declaration
Sub MarshaledObject ( _
    obj As Object, _
    or As ObjRef _
)
'Usage
Dim instance As ITrackingHandler
Dim obj As Object
Dim or As ObjRef

instance.MarshaledObject(obj, or)
void MarshaledObject (
    Object obj,
    ObjRef or
)
void MarshaledObject (
    Object^ obj, 
    ObjRef^ or
)
void MarshaledObject (
    Object obj, 
    ObjRef or
)
function MarshaledObject (
    obj : Object, 
    or : ObjRef
)

Parameter

  • obj
    Das gemarshallte Objekt.
  • or
    Das aus dem Marshalling resultierende ObjRef, das das angegebene Objekt darstellt.

Beispiel

Im folgenden Codebeispiel wird die Implementierung dieser Methode veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die ITrackingHandler-Schnittstelle.

// Called when the tracked object is marshaled.

[System.Security.Permissions.SecurityPermissionAttribute(
 System.Security.Permissions.SecurityAction.LinkDemand,
 Flags=System.Security.Permissions.SecurityPermissionFlag.Infrastructure)]
public void MarshaledObject(Object obj, ObjRef objRef)
{
    // Notify the user of the marshal event.
    Console.WriteLine("Tracking: An instance of {0} was marshaled.", 
        obj.ToString());

    // Print the channel information.
    if (objRef.ChannelInfo != null)
    {
        // Iterate over ChannelData.
        foreach(object data in objRef.ChannelInfo.ChannelData)
        {
            if (data is ChannelDataStore)
            {
                // Print the URIs from the ChannelDataStore objects.
                string[] uris = ((ChannelDataStore)data).ChannelUris;
                foreach(string uri in uris)
                    Console.WriteLine("ChannelUri: " + uri);
            }
        }
    }

    // Print the envoy information.
    if (objRef.EnvoyInfo != null)
        Console.WriteLine("EnvoyInfo: " + objRef.EnvoyInfo.ToString());

    // Print the type information.
    if (objRef.TypeInfo != null)
    {
        Console.WriteLine("TypeInfo: " + objRef.TypeInfo.ToString());
        Console.WriteLine("TypeName: " + objRef.TypeInfo.TypeName);
    }

    // Print the URI.
    if (objRef.URI != null)
        Console.WriteLine("URI: " + objRef.URI.ToString());
}

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

ITrackingHandler-Schnittstelle
ITrackingHandler-Member
System.Runtime.Remoting.Services-Namespace