RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger URI:n för det efterföljande anropet Marshal(MarshalByRefObject) till metoden.
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)
Parametrar
Objektet som du vill ange en URI för.
- uri
- String
Den URI som ska tilldelas till det angivna objektet.
Undantag
obj är inte ett lokalt objekt, har redan konverterats eller den aktuella metoden har redan anropats.
Minst en av anroparna högre i anropsstacken har inte behörighet att konfigurera fjärrkommunikationstyper och kanaler.
Exempel
I följande kodexempel visas hur du anger den URI som ska användas av Marshal metoden när det angivna objektet konverteras.
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
Kommentarer
Den URI som anges av den aktuella metoden används när det angivna objektet konverteras.
Efter marskalkering anges URI:n för det angivna objektet till strängen i parametern uri som läggs till Guid i den aktuella AppDomain.
Om det aktuella programmet lyssnar på en HTTP-port kommer både strängen som anges i parametern uri och strängen uri som läggs till på den Guid aktuella AppDomain vägen till det angivna objektet. Om programmet till exempel lyssnar på HTTP-port 9000 dirigerar både http://localhost:9000/objectUrioch till http://localhost:9000/<appdomainguid>/objectUri objektet som anges i parametern obj .