Bagikan melalui


RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Metode

Definisi

Mengatur URI untuk panggilan berikutnya ke Marshal(MarshalByRefObject) metode .

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)

Parameter

obj
MarshalByRefObject

Objek untuk mengatur URI.

uri
String

URI untuk ditetapkan ke objek yang ditentukan.

Pengecualian

obj bukan objek lokal, telah di-marshal, atau metode saat ini telah dipanggil.

Setidaknya salah satu penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk mengonfigurasi jenis jarak jauh dan saluran.

Contoh

Contoh kode berikut menunjukkan cara mengatur URI yang akan digunakan oleh Marshal metode saat marshaling objek yang ditentukan.

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

Keterangan

URI yang diatur oleh metode saat ini digunakan saat marshaling objek yang diberikan.

Setelah marshaling, URI objek yang ditentukan diatur ke string dalam uri parameter yang ditambahkan ke Guid dari objek saat ini AppDomain.

Jika aplikasi saat ini mendengarkan pada port HTTP, maka string yang ditentukan dalam uri parameter dan uri string ditambahkan ke Guid rute saat ini AppDomain ke objek yang ditentukan. Misalnya, jika aplikasi mendengarkan pada port HTTP 9000, maka , http://localhost:9000/objectUridan http://localhost:9000/<appdomainguid>/objectUri rutekan ke objek yang ditentukan dalam obj parameter .

Berlaku untuk

Lihat juga