다음을 통해 공유


RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) 메서드

정의

Marshal(MarshalByRefObject) 메서드에 대한 다음 호출의 URI를 설정합니다.

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)

매개 변수

obj
MarshalByRefObject

URI를 설정할 개체입니다.

uri
String

지정된 개체에 할당할 URI입니다.

예외

obj가 지역 개체가 아니고, 이미 마샬링되었거나, 현재 메서드가 이미 호출된 경우

호출 스택의 상위 호출자 중 하나 이상에게 원격 형식 및 채널을 구성하기 위한 권한이 없는 경우

예제

다음 코드 예제에서 사용 될 URI를 설정 하는 방법에 설명 합니다 Marshal 지정된 된 개체를 마샬링할 때 메서드.

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

설명

현재 메서드에서 설정 하는 URI는 지정된 된 개체를 마샬링할 때 사용 됩니다.

마샬링 한 후 지정된 된 개체의 URI 문자열에 설정 되는 uri 매개 변수를 추가 합니다 Guid 현재 AppDomain합니다.

현재 애플리케이션에서 HTTP 포트를 수신 대기 중인 경우 두 문자열에 지정 된 합니다 uri 매개 변수 및 uri 문자열에 추가 합니다 Guid 현재 AppDomain 지정된 된 개체에 대 한 경로. 애플리케이션은 HTTP 포트 9000에서 수신 대기 하는 경우와 같이 그 둘 다 http://localhost:9000/objectUri, 및 http://localhost:9000/<appdomainguid>/objectUri 경로에서 지정 된 개체는 obj 매개 변수입니다.

적용 대상

추가 정보