RemotingServices.SetObjectUriForMarshal(MarshalByRefObject, String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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)
パラメーター
URI を設定する対象となるオブジェクト。
- uri
- String
指定したオブジェクトに割り当てる URI。
例外
obj
がローカル オブジェクトではありません。既にマーシャリングされています。または、現在のメソッドが既に呼び出されています。
コールスタックの上位にある 1 つ以上の呼び出し元に、リモート処理の型とチャネルを構成するためのアクセス許可がありません。
例
次のコード例では、指定したオブジェクトをマーシャリングするときに メソッドによって Marshal 使用される URI を設定する方法を示します。
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 は、現在AppDomainの の に追加された パラメーターのuri
文字列にGuid設定されます。
現在のアプリケーションが HTTP ポートでリッスンしている場合は、 パラメーターでuri
指定された文字列と、uri
指定されたオブジェクトへの現在AppDomainのルートの にGuid追加された文字列の両方。 たとえば、アプリケーションが HTTP ポート 9000 でリッスンしている場合、 パラメーターで指定された オブジェクトに、 と http://localhost:9000/<appdomainguid>/objectUri
の両方http://localhost:9000/objectUri
がobj
ルーティングされます。
適用対象
こちらもご覧ください
.NET