IpcChannel.CreateMessageSink(String, Object, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回将消息传送到指定 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
所有通道消息在最终序列化和传输消息之前流经此接收器链。