NegotiateStream Konstruktoren

Definition

Initialisiert eine neue Instanz der NegotiateStream-Klasse.

Überlädt

Name Beschreibung
NegotiateStream(Stream)

Initialisiert eine neue Instanz der Klasse mithilfe des NegotiateStream angegebenen Stream.

NegotiateStream(Stream, Boolean)

Initialisiert eine neue Instanz der NegotiateStream Klasse mithilfe des angegebenen Stream Und Datenstromschließverhaltens.

Hinweise

Um das NegotiateStream Schließen des von Ihnen angegebenen Datenstroms zu verhindern, verwenden Sie den NegotiateStream(Stream, Boolean) Konstruktor.

NegotiateStream(Stream)

Initialisiert eine neue Instanz der Klasse mithilfe des NegotiateStream angegebenen Stream.

public:
 NegotiateStream(System::IO::Stream ^ innerStream);
public NegotiateStream(System.IO.Stream innerStream);
new System.Net.Security.NegotiateStream : System.IO.Stream -> System.Net.Security.NegotiateStream
Public Sub New (innerStream As Stream)

Parameter

innerStream
Stream

Ein Stream Objekt, das NegotiateStream vom Senden und Empfangen von Daten verwendet wird.

Beispiele

Im folgenden Codebeispiel wird das Aufrufen dieses Konstruktors veranschaulicht.

 // Establish the remote endpoint for the socket.
 // For this example, use the local machine.
 IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
 IPAddress ipAddress = ipHostInfo.AddressList[0];
 // Client and server use port 11000.
 IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000);
 // Create a TCP/IP socket.
TcpClient client = new TcpClient();
 // Connect the socket to the remote endpoint.
 client.Connect(remoteEP);
 Console.WriteLine("Client connected to {0}.",
     remoteEP.ToString());
 // Ensure the client does not close when there is
 // still data to be sent to the server.
 client.LingerState = (new LingerOption(true,0));
 // Request authentication.
 NetworkStream clientStream = client.GetStream();
 NegotiateStream authStream = new NegotiateStream(clientStream);
 // Request authentication for the client only (no mutual authentication).
 // Authenicate using the client's default credetials.
 // Permit the server to impersonate the client to access resources on the server only.
 // Request that data be transmitted using encryption and data signing.
 authStream.AuthenticateAsClient(
      (NetworkCredential) CredentialCache.DefaultCredentials,
      "",
      ProtectionLevel.EncryptAndSign,
      TokenImpersonationLevel.Impersonation);

Gilt für:

NegotiateStream(Stream, Boolean)

Initialisiert eine neue Instanz der NegotiateStream Klasse mithilfe des angegebenen Stream Und Datenstromschließverhaltens.

public:
 NegotiateStream(System::IO::Stream ^ innerStream, bool leaveInnerStreamOpen);
public NegotiateStream(System.IO.Stream innerStream, bool leaveInnerStreamOpen);
new System.Net.Security.NegotiateStream : System.IO.Stream * bool -> System.Net.Security.NegotiateStream
Public Sub New (innerStream As Stream, leaveInnerStreamOpen As Boolean)

Parameter

innerStream
Stream

Ein Stream Objekt, das NegotiateStream vom Senden und Empfangen von Daten verwendet wird.

leaveInnerStreamOpen
Boolean

true um anzugeben, dass das Schließen dieses Vorgangs NegotiateStream keine Auswirkung hat innerStream; false um anzugeben, dass das NegotiateStream Schließen ebenfalls geschlossen wird innerStream.

Ausnahmen

innerStream ist null.

-oder-

innerStream ist gleich Null.

Beispiele

Im folgenden Beispiel wird das Aufrufen dieses Konstruktors veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die NegotiateStream Klasse bereitgestellt wird.

// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
IPAddress ipAddress = ipHostInfo.AddressList[0];
// Client and server use port 11000.
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
client = new TcpClient();
// Connect the socket to the remote endpoint.
client.Connect(remoteEP);
Console.WriteLine("Client connected to {0}.", remoteEP.ToString());
// Ensure the client does not close when there is
// still data to be sent to the server.
client.LingerState = new LingerOption(true, 0);
// Request authentication.
NetworkStream clientStream = client.GetStream();
NegotiateStream authStream = new NegotiateStream(clientStream, false);
' Establish the remote endpoint for the socket.
' For this example, use the local machine.
Dim ipHostInfo = Dns.GetHostEntry("localhost")
Dim ipAddress = ipHostInfo.AddressList(0)

' Client and server use port 11000. 
Dim remoteEP As New IPEndPoint(ipAddress, 11000)

' Create a TCP/IP socket.
client = New TcpClient()

' Connect the socket to the remote endpoint.
client.Connect(remoteEP)
Console.WriteLine("Client connected to {0}.", remoteEP.ToString())

' Ensure the client does not close when there is 
' still data to be sent to the server.
client.LingerState = (New LingerOption(True, 0))

' Request authentication.
Dim clientStream = client.GetStream()
Dim authStream As New NegotiateStream(clientStream, False)

Hinweise

Wenn Sie für den Parameter angebentrue, hat das Schließen keine NegotiateStream Auswirkungen auf den innerStream Datenstrom. Sie müssen explizit schließeninnerStream, wenn Sie ihn nicht mehr leaveStreamOpen benötigen.

Gilt für: