TcpClientChannel Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
För fjärranrop implementerar en klientkanal som använder TCP-protokollet för att överföra meddelanden.
public ref class TcpClientChannel : System::Runtime::Remoting::Channels::IChannelSender
public ref class TcpClientChannel : System::Runtime::Remoting::Channels::IChannelSender, System::Runtime::Remoting::Channels::ISecurableChannel
public class TcpClientChannel : System.Runtime.Remoting.Channels.IChannelSender
public class TcpClientChannel : System.Runtime.Remoting.Channels.IChannelSender, System.Runtime.Remoting.Channels.ISecurableChannel
type TcpClientChannel = class
interface IChannelSender
interface IChannel
type TcpClientChannel = class
interface IChannelSender
interface IChannel
interface ISecurableChannel
Public Class TcpClientChannel
Implements IChannelSender
Public Class TcpClientChannel
Implements IChannelSender, ISecurableChannel
- Arv
-
TcpClientChannel
- Implementeringar
Exempel
I följande kodexempel visas hur klassen används TcpClientChannel för att anropa en fjärrtyp.
#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <Remotable.dll>
using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Tcp;
int main()
{
// Set up a client channel.
TcpClientChannel^ clientChannel = gcnew TcpClientChannel;
ChannelServices::RegisterChannel( clientChannel );
// Show the name and priority of the channel.
Console::WriteLine( "Channel Name: {0}", clientChannel->ChannelName );
Console::WriteLine( "Channel Priority: {0}", clientChannel->ChannelPriority );
// Obtain a proxy for a remote object.
RemotingConfiguration::RegisterWellKnownClientType( Remotable::typeid, "tcp://localhost:9090/Remotable.rem" );
// Call a method on the object.
Remotable ^ remoteObject = gcnew Remotable;
Console::WriteLine( remoteObject->GetCount() );
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
public class Client
{
public static void Main()
{
// Set up a client channel.
TcpClientChannel clientChannel = new TcpClientChannel();
ChannelServices.RegisterChannel(clientChannel);
// Show the name and priority of the channel.
Console.WriteLine("Channel Name: {0}", clientChannel.ChannelName);
Console.WriteLine("Channel Priority: {0}", clientChannel.ChannelPriority);
// Obtain a proxy for a remote object.
RemotingConfiguration.RegisterWellKnownClientType(
typeof(Remotable), "tcp://localhost:9090/Remotable.rem"
);
// Call a method on the object.
Remotable remoteObject = new Remotable();
Console.WriteLine( remoteObject.GetCount() );
}
}
Fjärrtypen som anropas i exemplet ovan definieras av följande kod.
using namespace System;
using namespace System::Runtime::Remoting;
public ref class Remotable: public MarshalByRefObject
{
private:
int callCount;
public:
Remotable()
: callCount( 0 )
{}
int GetCount()
{
callCount++;
return (callCount);
}
};
using System;
using System.Runtime.Remoting;
public class Remotable : MarshalByRefObject
{
private int callCount = 0;
public int GetCount()
{
callCount++;
return(callCount);
}
}
Kommentarer
Important
Att anropa metoder från den här klassen med ej betrodda data är en säkerhetsrisk. Anropa metoderna från den här klassen endast med betrodda data. För mer information, se Verifiera alla indata.
Kanaler transporterar meddelanden över fjärrkommunikationsgränser (till exempel datorer eller programdomäner). Klassen TcpClientChannel transporterar meddelanden med TCP-protokollet.
Kanaler används av .NET Framework-fjärrkommunikationsinfrastrukturen för att transportera fjärranrop. När en klient anropar ett fjärrobjekt serialiseras anropet till ett meddelande som skickas av en klientkanal och tas emot av en serverkanal. Den deserialiseras och bearbetas sedan. Alla returnerade värden överförs av serverkanalen och tas emot av klientkanalen.
Om du vill utföra ytterligare bearbetning av meddelanden på klientsidan kan du ange en implementering av IClientChannelSinkProvider gränssnittet genom vilket alla meddelanden som bearbetas av TcpClientChannel skickas.
Som standard TcpClientChannel använder klassen en binär formaterare för att serialisera alla meddelanden.
Ett TcpClientChannel objekt har associerade konfigurationsegenskaper som kan anges vid körning antingen i en konfigurationsfil (genom att anropa den statiska RemotingConfiguration.Configure metoden) eller programmatiskt (genom att skicka en IDictionary samling till TcpClientChannel konstruktorn). En lista över dessa konfigurationsegenskaper finns i dokumentationen för TcpClientChannel.
Konstruktorer
| Name | Description |
|---|---|
| TcpClientChannel() |
Initierar en ny instans av TcpClientChannel klassen. |
| TcpClientChannel(IDictionary, IClientChannelSinkProvider) |
Initierar en ny instans av TcpClientChannel klassen med de angivna konfigurationsegenskaperna och mottagaren. |
| TcpClientChannel(String, IClientChannelSinkProvider) |
Initierar en ny instans av TcpClientChannel klassen med det angivna namnet och mottagaren. |
Egenskaper
| Name | Description |
|---|---|
| ChannelName |
Hämtar namnet på den aktuella kanalen. |
| ChannelPriority |
Hämtar prioriteten för den aktuella kanalen. |
| IsSecured |
Hämtar eller anger ett booleskt värde som anger om den aktuella kanalen är säker. |
Metoder
| Name | Description |
|---|---|
| CreateMessageSink(String, Object, String) |
Returnerar en kanalmeddelandemottagare som levererar meddelanden till den angivna URL:en eller kanaldataobjektet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Parse(String, String) |
Extraherar kanal-URI:n och den välkända fjärrobjekt-URI:n från den angivna URL:en. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |