Condividi tramite


Il timeout si verifica quando un'applicazione chiama il metodo Poll

Versione originale del prodotto: .NET Core

Sintomo

Si verifica un timeout quando si esegue un'applicazione che usa la System.Net.Security.SslStream classe e che chiama il System.Net.Socket.Poll metodo per controllare i dati nel socket sottostante. In questo caso, il Poll metodo restituisce false.

Causa

La SslStream classe legge i dati dal socket più velocemente di quanto l'applicazione possa leggere i dati dal buffer del flusso.

Soluzione alternativa

Per ovviare a questo problema, utilizzare uno dei seguenti metodi:

  • Non usare il Poll metodo nell'applicazione. Usare il modello APM (Asynchronous Programming Model) per ottenere i callback quando arrivano i dati.
  • Se è necessario usare il Poll metodo , quando il metodo restituisce true, assicurarsi che tutti i dati del buffer del flusso siano stati letti prima di immettere un'altra Poll chiamata.