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
, и все сообщения канала проходят через эту цепочку приемников, прежде чем сообщение окончательно сериализуется и транспортируется.