RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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/objectUri
dan http://localhost:9000/<appdomainguid>/objectUri
rutekan ke objek yang ditentukan dalam obj
parameter .