Udostępnij za pośrednictwem


TcpChannel.CreateMessageSink(String, Object, String) Metoda

Definicja

Zwraca ujście komunikatów kanału, który dostarcza komunikaty do określonego adresu URL lub obiektu danych kanału.

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

Parametry

url
String

Adres URL, do którego nowy ujście powinien dostarczać komunikaty. Może to być null.

remoteChannelData
Object

Obiekt danych kanału hosta zdalnego, do którego nowy ujście powinien dostarczać komunikaty. Może to być null.

objectURI
String

Gdy ta metoda zostanie zwrócona, zawiera identyfikator URI nowego ujścia komunikatów kanału, który dostarcza komunikaty do określonego adresu URL lub obiektu danych kanału. Ten parametr jest przekazywany jako niezainicjowany.

Zwraca

IMessageSink

Ujście komunikatów kanału, które dostarcza komunikaty do określonego adresu URL lub obiektu danych kanału.

Implementuje

Przykłady

W poniższym przykładzie kodu pokazano, jak używać tej metody.

// Create a message sink.
String^ objectUri;
System::Runtime::Remoting::Messaging::IMessageSink^ messageSink = 
    clientChannel->CreateMessageSink(
        "tcp://localhost:9090/RemoteObject.rem", nullptr,
        objectUri);
Console::WriteLine("The URI of the message sink is {0}.", 
    objectUri);
if (messageSink != nullptr)
{
    Console::WriteLine("The type of the message sink is {0}.", 
        messageSink->GetType()->ToString());
}
// Create a message sink.
string objectUri;
System.Runtime.Remoting.Messaging.IMessageSink messageSink =
    clientChannel.CreateMessageSink(
        "tcp://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());
}

Uwagi

Metoda CreateMessageSink zwraca ujście komunikatów kanału, który dostarcza komunikaty do określonego adresu URL lub obiektu danych kanału. uri Jeśli parametr to null, remoteChannelData jest używany jako element docelowy ujścia. url Parametry lub remoteChannelData mogą mieć wartość null, ale nie oba te parametry.

Ujścia kanału zapewniają punkt wtyczki, który umożliwia dostęp do źródłowych komunikatów przepływających przez kanał, a także strumienia używanego przez mechanizm transportu do wysyłania komunikatów do obiektu zdalnego. Ujścia kanału są połączone w łańcuchu ChannelSinkProviders i wszystkie komunikaty kanału przepływają przez ten łańcuch ujść, zanim komunikat zostanie ostatecznie serializowany i transportowany.

Dotyczy