RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee stelt u de URI in voor de volgende aanroep naar de Marshal(MarshalByRefObject) methode.
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)
Parameters
Het object waarvoor een URI moet worden ingesteld.
- uri
- String
De URI die moet worden toegewezen aan het opgegeven object.
Uitzonderingen
obj is geen lokaal object, is al marshaled of de huidige methode is al aangeroepen.
Ten minste één van de bellers hoger in de callstack is niet gemachtigd om externe typen en kanalen te configureren.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de URI instelt die door de methode wordt gebruikt bij het Marshal marshalen van het opgegeven object.
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
Opmerkingen
De URI die door de huidige methode wordt ingesteld, wordt gebruikt bij het marshalen van het opgegeven object.
Na marshaling wordt de URI van het opgegeven object ingesteld op de tekenreeks in de uri parameter die is toegevoegd aan de Guid huidige AppDomain.
Als de huidige toepassing luistert op een HTTP-poort, worden zowel de tekenreeks die is opgegeven in de uri parameter als de uri tekenreeks toegevoegd aan de Guid huidige AppDomain route naar het opgegeven object. Als de toepassing bijvoorbeeld luistert op HTTP-poort 9000, worden beide http://localhost:9000/objectUrien http://localhost:9000/<appdomainguid>/objectUri doorgestuurd naar het object dat is opgegeven in de obj parameter.