TcpChannel.CreateMessageSink(String, Object, String) Metodo

Definizione

Restituisce un sink dei messaggi del canale che invia messaggi all'URL o all'oggetto dati del canale specificato.

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

Parametri

url
String

URL al quale il nuovo sink deve inviare messaggi. Può essere null.

remoteChannelData
Object

Oggetto dati del canale dell'host remoto al quale il nuovo sink deve recapitare i messaggi. Può essere null.

objectURI
String

Quando questo metodo termina, contiene un URI del sink di messaggi del canale che invia messaggi all'URL o all'oggetto dati del canale specificato. Questo parametro viene passato non inizializzato.

Restituisce

Sink di messaggi del canale che invia messaggi all'URL o all'oggetto dati del canale specificato.

Implementazioni

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare questo metodo.

// 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());
}

Commenti

Il CreateMessageSink metodo restituisce un sink di messaggi del canale che recapita i messaggi all'URL o all'oggetto dati del canale specificato. Se il uri parametro è null, remoteChannelData viene usato come destinazione per il sink. url I parametri o remoteChannelData possono essere null, ma non entrambi.

I sink di canale forniscono un punto di plug-in che consente l'accesso ai messaggi sottostanti che passano attraverso il canale e il flusso usato dal meccanismo di trasporto per inviare messaggi a un oggetto remoto. I sink di canale vengono collegati in una catena di e tutti i messaggi del ChannelSinkProviders canale passano attraverso questa catena di sink prima che il messaggio venga finalmente serializzato e trasportato.

Si applica a