Поделиться через


IpcChannel.CreateMessageSink(String, Object, String) Метод

Определение

Возвращает приемник сообщений канала, который доставляет сообщения объекту данных канала или по указанному URL-адресу.

public:
 virtual System::Runtime::Remoting::Messaging::IMessageSink ^ CreateMessageSink(System::String ^ url, System::Object ^ remoteChannelData, [Runtime::InteropServices::Out] System::String ^ % objectURI);
public System.Runtime.Remoting.Messaging.IMessageSink CreateMessageSink (string url, object remoteChannelData, out string objectURI);
abstract member CreateMessageSink : string * obj * string -> System.Runtime.Remoting.Messaging.IMessageSink
override this.CreateMessageSink : string * obj * string -> System.Runtime.Remoting.Messaging.IMessageSink
Public Function CreateMessageSink (url As String, remoteChannelData As Object, ByRef objectURI As String) As IMessageSink

Параметры

url
String

URL-адрес, по которому новый приемник должен доставлять сообщения. Может иметь значение null.

remoteChannelData
Object

Объект данных канала удаленного узла, которому новый приемник должен доставлять сообщения. Может иметь значение null.

objectURI
String

Когда метод возвращает управление, содержит URI нового приемника сообщений канала, который доставляет сообщения объекту данных канала или по указанному URL-адресу. Этот параметр передается неинициализированным.

Возвращаемое значение

Приемник сообщений канала, который доставляет сообщения объекту данных канала или по указанному URL-адресу.

Реализации

Примеры

В следующем примере кода показано применение метода CreateMessageSink. Этот пример входит в состав более крупного примера использования класса IpcChannel.

// Create a message sink.
String^ objectUri;
System::Runtime::Remoting::Messaging::IMessageSink^ messageSink = channel->CreateMessageSink(
   L"ipc://localhost:9090/RemoteObject.rem", nullptr, objectUri );
Console::WriteLine( L"The URI of the message sink is {0}.", objectUri );
if ( messageSink != nullptr )
{
   Console::WriteLine( L"The type of the message sink is {0}.", messageSink->GetType() );
}
// Create a message sink.
string objectUri;
System.Runtime.Remoting.Messaging.IMessageSink messageSink =
    channel.CreateMessageSink(
        "ipc://localhost:9090/RemoteObject.rem", null,
        out objectUri);
Console.WriteLine("The URI of the message sink is {0}.",
    objectUri);
if (messageSink != null)
{
    Console.WriteLine("The type of the message sink is {0}.",
        messageSink.GetType().ToString());
}

Комментарии

Метод CreateMessageSink возвращает приемник сообщений канала, который доставляет сообщения по указанному URL-адресу или объекту данных канала. uri Если параметр имеет значение null, remoteChannelData используется в качестве целевого объекта для приемника. url Параметры или remoteChannelData могут иметь значение null, но не оба.

Приемники каналов предоставляют точку подключаемого модуля, которая обеспечивает доступ к базовым сообщениям, проходящим через канал, а также к потоку, используемому механизмом транспорта для отправки сообщений в удаленный объект. Приемники каналов объединяются в цепочку ChannelSinkProviders , и все сообщения канала проходят через эту цепочку приемников, прежде чем сообщение окончательно сериализуется и транспортируется.

Применяется к