Socket.BeginSendFile Methode

Definition

Sendet eine Datei asynchron an ein verbundenes Socket-Objekt.Sends a file asynchronously to a connected Socket object.

Überlädt

BeginSendFile(String, AsyncCallback, Object)

Sendet die Datei fileName unter Verwendung des Socket-Flags an ein verbundenes UseDefaultWorkerThread-Objekt.Sends the file fileName to a connected Socket object using the UseDefaultWorkerThread flag.

BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)

Sendet eine Datei und Datenpuffer asynchron an ein verbundenes Socket-Objekt.Sends a file and buffers of data asynchronously to a connected Socket object.

BeginSendFile(String, AsyncCallback, Object)

Sendet die Datei fileName unter Verwendung des Socket-Flags an ein verbundenes UseDefaultWorkerThread-Objekt.Sends the file fileName to a connected Socket object using the UseDefaultWorkerThread flag.

public:
 IAsyncResult ^ BeginSendFile(System::String ^ fileName, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string fileName, AsyncCallback callback, object state);
member this.BeginSendFile : string * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

fileName
String

Eine Zeichenfolge, die den Pfad und Namen der zu sendenden Datei enthält.A string that contains the path and name of the file to send. Dieser Parameter kann null sein.This parameter can be null.

callback
AsyncCallback

Der AsyncCallback -Delegat.The AsyncCallback delegate.

state
Object

Ein Objekt mit Zustandsinformationen für diese Anforderung.An object that contains state information for this request.

Gibt zurück

Ein IAsyncResult-Objekt, das den asynchronen Sendevorgang darstellt.An IAsyncResult object that represents the asynchronous send.

Ausnahmen

Das Socket-Objekt wurde geschlossen.The Socket object has been closed.

Der Socket ist nicht mit einem Remotehost verbunden.The socket is not connected to a remote host.

Die Datei fileName wurde nicht gefunden.The file fileName was not found.

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket. Weitere Informationen finden Sie unten im Abschnitt Hinweise.See remarks section below.

Beispiele

Im folgenden Codebeispiel wird ein Socket für die asynchrone Kommunikation erstellt und verbunden.The following code example creates and connects a socket for asynchronous communication. Zuerst wird die Datei "Text. txt" asynchron an den Remote Host gesendet.First, the file "text.txt" is sent asynchronously to the remote host. Der Rückruf Delegat ruft EndSendFile auf, um die Übertragung abzuschließen.The callback delegate calls EndSendFile to complete the transmission.

   static void AsynchronousFileSend()
   {
      // Send a file to a remote device.
      // Establish the remote endpoint for the socket.
      IPHostEntry^ ipHostInfo = Dns::GetHostEntry( Dns::GetHostName() );
      IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ];
      IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 );

      // Create a TCP/IP socket.
      Socket^ client = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );

      // Connect to the remote endpoint.
      client->BeginConnect( remoteEP, gcnew AsyncCallback( ConnectCallback ), client );

      // Wait for connect.
      connectDone->WaitOne();

      // There is a text file test.txt in the root directory.
      String^ fileName = "C:\\test.txt";

      // Send file fileName to the remote device.
      Console::WriteLine( fileName );
      client->BeginSendFile( fileName, gcnew AsyncCallback( FileSendCallback ), client );

      // Release the socket.
      client->Shutdown( SocketShutdown::Both );
      client->Close();
   }

private:
   static void FileSendCallback( IAsyncResult^ ar )
   {
      // Retrieve the socket from the state object.
      Socket^ client = dynamic_cast<Socket^>(ar->AsyncState);

      // Complete sending the data to the remote device.
      client->EndSendFile( ar );
      sendDone->Set();
   }

public static void AsynchronousFileSend()
{
    // Send a file to a remote device.
    
    // Establish the remote endpoint for the socket.
    IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
    IPAddress ipAddress = ipHostInfo.AddressList[0];
    IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);

    // Create a TCP/IP socket.
    Socket client = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream, ProtocolType.Tcp);

    // Connect to the remote endpoint.
    client.BeginConnect(remoteEP, 
        new AsyncCallback(ConnectCallback), client);
        
    // Wait for connect.
    connectDone.WaitOne();

    // There is a text file test.txt in the root directory.
    string fileName = "C:\\test.txt";
  
    // Send file fileName to the remote device.
    Console.WriteLine(fileName);
    client.BeginSendFile(fileName, new AsyncCallback(FileSendCallback), client);

    // Release the socket.
    client.Shutdown(SocketShutdown.Both);
    client.Close();
}


private static void FileSendCallback(IAsyncResult ar)
{
    // Retrieve the socket from the state object.
    Socket client = (Socket) ar.AsyncState;

    // Complete sending the data to the remote device.
    client.EndSendFile(ar);
    sendDone.Set();
}

Hinweise

Diese Überladung sendet die Datei fileName an den verbundenen Socket.This overload sends the file fileName to the connected socket. Wenn sich fileName im lokalen Verzeichnis befindet, wird es möglicherweise nur mit dem Namen der Datei identifiziert. Andernfalls müssen der vollständige Pfad und der Name der Datei angegeben werden.If fileName is in the local directory, it may be identified with just the name of the file; otherwise, the full path and name of the file must be specified. Platzhalter ("..\\MyFile.txt ") und UNC-Freigabe Namen ("\\\\Shared Directory\\MyFile.txt ") werden unterstützt.Wildcards ("..\\myfile.txt") and UNC share names ("\\\\shared directory\\myfile.txt") are supported. Wenn die Datei nicht gefunden wird, wird die Ausnahme FileNotFoundException ausgelöst.If the file is not found, the exception FileNotFoundException is thrown.

Diese Methode verwendet die TransmitFile-Funktion, die in der Windows Sockets 2-API enthalten ist.This method uses the TransmitFile function found in the Windows Sockets 2 API. Weitere Informationen zur TransmitFile Funktion und ihren Flags finden Sie in der Dokumentation zu Windows Sockets .For more information about the TransmitFile function and its flags, see the Windows Sockets documentation.

Die BeginSendFile-Methode startet einen asynchronen Sendevorgang an den Remote Host, der in den Methoden Connect,BeginConnect, Acceptoder BeginAccept festgelegt ist.The BeginSendFile method starts an asynchronous send operation to the remote host established in the Connect,BeginConnect, Accept, or BeginAccept methods. BeginSendFile löst eine Ausnahme aus, wenn Sie nicht zuerst Accept, BeginAccept, Connectoder BeginConnectaufgerufen haben.BeginSendFile throws an exception if you do not first call Accept, BeginAccept, Connect, or BeginConnect. Wenn Sie die BeginSendFile-Methode aufrufen, können Sie eine Datei in einem separaten Ausführungs Thread senden.Calling the BeginSendFile method enables you to send a file within a separate execution thread.

Um den Vorgang abzuschließen, können Sie eine Rückruf Methode erstellen, die vom AsyncCallback Delegatparameter aufgerufen wird.To complete the operation, you can create a callback method that is invoked by the AsyncCallback delegate parameter. Um dies zu erreichen, muss der state-Parameter das Socket Objekt enthalten, das für die Kommunikation verwendet wird.To do this, at the very minimum, the state parameter must contain the Socket object being used for communication. Wenn Ihr Rückruf Weitere Informationen benötigt, können Sie eine Klasse oder Struktur erstellen, die die Socket und die anderen erforderlichen Informationen enthält.If your callback needs more information, you can create a class or structure to hold the Socket and the other required information. Übergeben Sie mithilfe des state-Parameters eine Instanz dieses benutzerdefinierten Objekts an die BeginSendFile-Methode.Pass an instance of this custom object to the BeginSendFile method through the state parameter.

Die Rückruf Methode muss die EndSendFile-Methode aufrufen.Your callback method must invoke the EndSendFile method. Wenn die Anwendung BeginSendFileaufruft, verwendet das System einen separaten Thread, um die angegebene Rückruf Methode auszuführen, und blockiert EndSendFile, bis der Socket die gesamte Datei sendet oder eine Ausnahme auslöst.When your application calls BeginSendFile, the system uses a separate thread to execute the specified callback method, and blocks on EndSendFile until the Socket sends the entire file or throws an exception. Weitere Informationen zum Schreiben von Rückruf Methoden finden Sie unter Mars Hallen eines Delegaten als Rückruf Methode.For additional information on writing callback methods see Marshaling a Delegate as a Callback Method.

Obwohl BeginSendFile für Verbindungs orientierte Protokolle vorgesehen ist, kann auch für verbindungslose Protokolle verwendet werden, vorausgesetzt, dass Sie zuerst die Connect oder BeginConnect-Methode zum Einrichten eines Standard Remote Hosts aufzurufen.Although intended for connection-oriented protocols, BeginSendFile also works for connectionless protocols, provided that you first call the Connect or BeginConnect method to establish a default remote host. Bei Verbindungs losen Protokollen müssen Sie sicherstellen, dass die Größe der Datei nicht die maximale Paketgröße des zugrunde liegenden Dienstanbieters überschreitet.With connectionless protocols, you must be sure that the size of your file does not exceed the maximum packet size of the underlying service provider. Wenn dies der Fall ist, wird das Datagramm nicht gesendet, und BeginSendFile löst eine SocketException Ausnahme aus.If it does, the datagram is not sent and BeginSendFile throws a SocketException exception.

Hinweis

Wenn Sie eine SocketException Ausnahme erhalten, verwenden Sie die SocketException.ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen.If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der API-Fehlercode Dokumentation der Windows Sockets, Version 2 , eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Hinweis

Der Ausführungs Kontext (der Sicherheitskontext, der Benutzer, dessen Identität angenommen wurde, und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket Instanz und eines bestimmten Rückrufs) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)

Sendet eine Datei und Datenpuffer asynchron an ein verbundenes Socket-Objekt.Sends a file and buffers of data asynchronously to a connected Socket object.

public:
 IAsyncResult ^ BeginSendFile(System::String ^ fileName, cli::array <System::Byte> ^ preBuffer, cli::array <System::Byte> ^ postBuffer, System::Net::Sockets::TransmitFileOptions flags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string fileName, byte[] preBuffer, byte[] postBuffer, System.Net.Sockets.TransmitFileOptions flags, AsyncCallback callback, object state);
member this.BeginSendFile : string * byte[] * byte[] * System.Net.Sockets.TransmitFileOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, preBuffer As Byte(), postBuffer As Byte(), flags As TransmitFileOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

fileName
String

Eine Zeichenfolge, die den Pfad und Namen der zu sendenden Datei enthält.A string that contains the path and name of the file to be sent. Dieser Parameter kann null sein.This parameter can be null.

preBuffer
Byte[]

Ein Byte-Array, das Daten enthält, die gesendet werden sollen, bevor die Datei gesendet wird.A Byte array that contains data to be sent before the file is sent. Dieser Parameter kann nullsein.This parameter can be null.

postBuffer
Byte[]

Ein Byte-Array, das Daten enthält, die gesendet werden sollen, nachdem die Datei gesendet wurde.A Byte array that contains data to be sent after the file is sent. Dieser Parameter kann null sein.This parameter can be null.

flags
TransmitFileOptions

Eine bitweise Kombination von TransmitFileOptions-Werten.A bitwise combination of TransmitFileOptions values.

callback
AsyncCallback

Ein AsyncCallback-Delegat, der nach Abschluss dieses Vorgangs aufgerufen werden soll.An AsyncCallback delegate to be invoked when this operation completes. Dieser Parameter kann null sein.This parameter can be null.

state
Object

Ein benutzerdefiniertes Objekt mit Zustandsinformationen für diese Anforderung.A user-defined object that contains state information for this request. Dieser Parameter kann null sein.This parameter can be null.

Gibt zurück

Ein IAsyncResult-Objekt, das den asynchronen Vorgang darstellt.An IAsyncResult object that represents the asynchronous operation.

Ausnahmen

Das Socket-Objekt wurde geschlossen.The Socket object has been closed.

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket. Weitere Informationen finden Sie unten im Abschnitt Hinweise.See remarks section below.

Das Betriebssystem ist nicht Windows NT oder höher.The operating system is not Windows NT or later.

- oder --or-

Der Socket ist nicht mit einem Remotehost verbunden.The socket is not connected to a remote host.

Die Datei fileName wurde nicht gefunden.The file fileName was not found.

Beispiele

Im folgenden Codebeispiel wird ein Socket für asynchrone Kommunikation erstellt und verknüpft und die Datei "Text. txt" asynchron an den Remote Host gesendet.The following code example creates and connects a socket for asynchronous communication and begins sending the file "text.txt" asynchronously to the remote host. In diesem Beispiel werden eine preBuffer und eine postBuffer der Daten erstellt, um Sie mit der Datei zu senden, und der Standard TransmitFileOptions Wert wird verwendet.In this example, a preBuffer and a postBuffer of data is created to send with the file and the default TransmitFileOptions value is used. Der Rückruf Delegat ruft EndSendFile auf, um die Übertragung abzuschließen.The callback delegate calls EndSendFile to complete the transmission.

public:
   static void AsynchronousFileSendWithBuffers()
   {
      // Send a file asynchronously to the remote device. Send a buffer before the file and a buffer afterwards.
      // Establish the remote endpoint for the socket.
      IPHostEntry^ ipHostInfo = Dns::GetHostEntry( Dns::GetHostName() );
      IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ];
      IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 );

      // Create a TCP/IP socket.
      Socket^ client = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );

      // Connect to the remote endpoint.
      client->BeginConnect( remoteEP, gcnew AsyncCallback( ConnectCallback ), client );

      // Wait for connect.
      connectDone->WaitOne();

      // Send a file fileName to the remote device with preBuffer and postBuffer data.
      // Create the preBuffer data.
      String^ string1 = String::Format( "This is text data that precedes the file.{0}", Environment::NewLine );
      array<Byte>^preBuf = Encoding::ASCII->GetBytes( string1 );

      // Create the postBuffer data.
      String^ string2 = String::Format( "This is text data that will follow the file.{0}", Environment::NewLine );
      array<Byte>^postBuf = Encoding::ASCII->GetBytes( string2 );

      // There is a file test.txt in the root directory.
      String^ fileName = "C:\\test.txt";

      //Send file fileName with buffers and default flags to the remote device.
      Console::WriteLine( fileName );
      client->BeginSendFile( fileName, preBuf, postBuf, static_cast<TransmitFileOptions>(0), gcnew AsyncCallback( AsynchronousFileSendCallback ), client );

      // Release the socket.
      client->Shutdown( SocketShutdown::Both );
      client->Close();
   }


private:
   static void AsynchronousFileSendCallback( IAsyncResult^ ar )
   {
      // Retrieve the socket from the state object.
      Socket^ client = dynamic_cast<Socket^>(ar->AsyncState);

      // Complete sending the data to the remote device.
      client->EndSendFile( ar );
      sendDone->Set();
   }
    public static void AsynchronousFileSendWithBuffers()
    {
        // Send a file asynchronously to the remote device. Send a buffer before the file and a buffer afterwards.
        
        // Establish the remote endpoint for the socket.
        IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
        IPAddress ipAddress = ipHostInfo.AddressList[0];
        IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);

        // Create a TCP/IP socket.
        Socket client = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp);

        // Connect to the remote endpoint.
        client.BeginConnect(remoteEP, 
            new AsyncCallback(ConnectCallback), client);
            
        // Wait for connect.
        connectDone.WaitOne();

        // Send a file fileName to the remote device with preBuffer and postBuffer data.
        // Create the preBuffer data.
        string string1 = String.Format("This is text data that precedes the file.{0}", Environment.NewLine);
        byte[] preBuf = Encoding.ASCII.GetBytes(string1);

        // Create the postBuffer data.
        string string2 = String.Format("This is text data that will follow the file.{0}", Environment.NewLine);
        byte[] postBuf = Encoding.ASCII.GetBytes(string2);

        // There is a file test.txt in the root directory.
        string fileName = "C:\\test.txt";

        //Send file fileName with buffers and default flags to the remote device.
        Console.WriteLine(fileName);
        client.BeginSendFile(fileName, preBuf, postBuf, 0, new AsyncCallback(AsynchronousFileSendCallback), client);

        // Release the socket.
        client.Shutdown(SocketShutdown.Both);
        client.Close();
    }


    private static void AsynchronousFileSendCallback(IAsyncResult ar)
    {
        // Retrieve the socket from the state object.
        Socket client = (Socket) ar.AsyncState;

        // Complete sending the data to the remote device.
        client.EndSendFile(ar);
        sendDone.Set();
    }

Hinweise

Diese Überladung erfordert den Namen der Datei, die Sie senden möchten, und eine bitweise Kombination von TransmitFileOptions-Werten.This overload requires the name of the file you want to send and a bitwise combination of TransmitFileOptions values. Der preBuffer-Parameter enthält alle Daten, die Sie der Datei vorausgehen möchten.The preBuffer parameter contains any data you want to precede the file. postBuffer enthält Daten, die Sie der Datei folgen möchten.postBuffer contains data you want to follow the file. Wenn sich fileName im lokalen Verzeichnis befindet, wird es möglicherweise nur mit dem Namen der Datei identifiziert. Andernfalls müssen der vollständige Pfad und der Name der Datei angegeben werden.If fileName is in the local directory, it may be identified with just the name of the file; otherwise, the full path and name of the file must be specified. Platzhalter ("..\\MyFile.txt ") und UNC-Freigabe Namen ("\\\\Shared Directory\\MyFile.txt ") werden unterstützt.Wildcards ("..\\myfile.txt") and UNC share names ("\\\\shared directory\\myfile.txt") are supported. Wenn die Datei nicht gefunden wird, wird die Ausnahme FileNotFoundException ausgelöst.If the file is not found, the exception FileNotFoundException is thrown.

Der flags-Parameter stellt dem Window Sockets-Dienstanbieter zusätzliche Informationen über die Dateiübertragung zur Verfügung.The flags parameter provides the Window Sockets service provider with additional information about the file transfer. Weitere Informationen zum Verwenden dieses Typs finden Sie unter TransmitFileOptions.For more information about how to use this parameter, see TransmitFileOptions.

Diese Methode verwendet die TransmitFile-Funktion, die in der Windows Sockets 2-API enthalten ist.This method uses the TransmitFile function found in the Windows Sockets 2 API. Weitere Informationen zur TransmitFile Funktion und ihren Flags finden Sie in der Dokumentation zu Windows Sockets .For more information about the TransmitFile function and its flags, see the Windows Sockets documentation.

Die BeginSendFile-Methode startet einen asynchronen Sendevorgang an den Remote Host, der in den Methoden Connect, BeginConnect, Acceptoder BeginAccept festgelegt ist.The BeginSendFile method starts an asynchronous send operation to the remote host established in the Connect, BeginConnect, Accept, or BeginAccept methods. BeginSendFile löst eine Ausnahme aus, wenn Sie nicht zuerst Accept, BeginAccept, Connectoder BeginConnectaufgerufen haben.BeginSendFile throws an exception if you do not first call Accept, BeginAccept, Connect, or BeginConnect. Wenn Sie die BeginSendFile-Methode aufrufen, haben Sie die Möglichkeit, eine Datei in einem separaten Ausführungs Thread zu senden.Calling the BeginSendFile method gives you the ability to send a file within a separate execution thread.

Um den Vorgang abzuschließen, können Sie eine Rückruf Methode erstellen, die vom AsyncCallback Delegatparameter aufgerufen wird.To complete the operation, you can create a callback method that is invoked by the AsyncCallback delegate parameter. Um dies zu erreichen, muss der state-Parameter das Socket Objekt enthalten, das für die Kommunikation verwendet wird.To do this, at the very minimum, the state parameter must contain the Socket object being used for communication. Wenn Ihr Rückruf Weitere Informationen benötigt, können Sie eine Klasse oder Struktur erstellen, die die Socket und die anderen erforderlichen Informationen enthält.If your callback needs more information, you can create a class or structure to hold the Socket and the other required information. Übergeben Sie mithilfe des state-Parameters eine Instanz dieses benutzerdefinierten Objekts an die BeginSendFile-Methode.Pass an instance of this custom object to the BeginSendFile method through the state parameter.

Die Rückruf Methode muss die EndSendFile-Methode aufrufen.Your callback method must invoke the EndSendFile method. Wenn die Anwendung BeginSendFileaufruft, verwendet das System einen separaten Thread, um die angegebene Rückruf Methode auszuführen, und blockiert EndSendFile, bis der Socket die gesamte Datei sendet oder eine Ausnahme auslöst.When your application calls BeginSendFile, the system uses a separate thread to execute the specified callback method, and blocks on EndSendFile until the Socket sends the entire file or throws an exception. Weitere Informationen zum Schreiben von Rückruf Methoden finden Sie unter Mars Hallen eines Delegaten als Rückruf Methode.For additional information on writing callback methods see Marshaling a Delegate as a Callback Method.

Obwohl BeginSendFile für Verbindungs orientierte Protokolle vorgesehen ist, kann auch für verbindungslose Protokolle verwendet werden, vorausgesetzt, dass Sie zuerst die Connect oder BeginConnect-Methode zum Einrichten eines Standard Remote Hosts aufzurufen.Although intended for connection-oriented protocols, BeginSendFile also works for connectionless protocols, provided that you first call the Connect or BeginConnect method to establish a default remote host. Bei Verbindungs losen Protokollen müssen Sie auch sicherstellen, dass die Größe der Datei nicht die maximale Paketgröße des zugrunde liegenden Dienstanbieters überschreitet.With connectionless protocols, you must also be sure that the size of your file does not exceed the maximum packet size of the underlying service provider. Wenn dies der Fall ist, wird das Datagramm nicht gesendet, und BeginSendFile löst eine SocketException Ausnahme aus.If it does, the datagram is not sent and BeginSendFile throws a SocketException exception.

Hinweis

Wenn Sie eine SocketException Ausnahme erhalten, verwenden Sie die SocketException.ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen.If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der API-Fehlercode Dokumentation der Windows Sockets, Version 2 , eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Hinweis

Der Ausführungs Kontext (der Sicherheitskontext, der Benutzer, dessen Identität angenommen wurde, und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket Instanz und eines bestimmten Rückrufs) wird bei der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

Gilt für: