SmtpClient.Timeout Propiedad
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que especifica el intervalo de tiempo a partir del cual se considera que una llamada a Send sincrónica excede el tiempo de espera.
public:
property int Timeout { int get(); void set(int value); };
public int Timeout { get; set; }
member this.Timeout : int with get, set
Public Property Timeout As Integer
Valor Int32 que especifica el valor de tiempo de espera en milisegundos. El valor predeterminado es 100.000 (100 segundos).
El valor que se especificó para una operación de establecimiento era menor que cero.
No se puede cambiar el valor de esta propiedad cuando se está enviando un mensaje de correo electrónico.
En el ejemplo de código siguiente se muestra cómo obtener y establecer el valor de tiempo de espera.
static void CreateTimeoutTestMessage( String^ server )
{
String^ to = L"jane@contoso.com";
String^ from = L"ben@contoso.com";
String^ subject = L"Using the new SMTP client.";
String^ body = L"Using this new feature, you can send an email message from an application very easily.";
MailMessage^ message = gcnew MailMessage( from,to,subject,body );
SmtpClient^ client = gcnew SmtpClient( server );
Console::WriteLine( L"Changing time out from {0} to 100.", client->Timeout );
client->Timeout = 100;
// Credentials are necessary if the server requires the client
// to authenticate before it will send email on the client's behalf.
client->Credentials = CredentialCache::DefaultNetworkCredentials;
client->Send( message );
}
public static void CreateTimeoutTestMessage(string server)
{
string to = "jane@contoso.com";
string from = "ben@contoso.com";
string subject = "Using the new SMTP client.";
string body = @"Using this new feature, you can send an email message from an application very easily.";
MailMessage message = new MailMessage(from, to, subject, body);
SmtpClient client = new SmtpClient(server);
Console.WriteLine("Changing time out from {0} to 100.", client.Timeout);
client.Timeout = 100;
// Credentials are necessary if the server requires the client
// to authenticate before it will send email on the client's behalf.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Send(message);
}
De forma predeterminada, llama al bloque de Send métodos hasta que se completa la operación. Si establece la Timeout propiedad en un valor positivo y una Send operación no se puede completar en el tiempo asignado, la SmtpClient clase produce una SmtpException excepción.
Para enviar un mensaje y continuar ejecutándose en el subproceso de la aplicación, use el SendAsync método .
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: