SmtpClient.Timeout Свойство
Определение
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
Значение свойства
Значение Int32, указывающее значение тайм-аута в миллисекундах.An Int32 that specifies the time-out value in milliseconds. По умолчанию установлено значение 100,000 (100 секунд).The default value is 100,000 (100 seconds).
Исключения
Значение, указанное для операции присвоения, меньше нуля.The value specified for a set operation was less than zero.
Значение этого свойства нельзя изменить во время отправки электронной почты.You cannot change the value of this property when an email is being sent.
Примеры
В следующем примере кода демонстрируется получение и установка значения времени ожидания.The following code example demonstrates getting and setting the time-out value.
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);
}
Комментарии
По умолчанию вызывает блок метода Send до завершения операции.By default, calls to the Send method block until the operation completes. Если для свойства Timeout задано положительное значение, а операция Send не может завершиться за отведенное время, то класс SmtpClient вызывает исключение SmtpException .If you set the Timeout property to a positive value, and a Send operation cannot complete in the allotted time, the SmtpClient class throws an SmtpException exception.
Чтобы отправить сообщение и продолжить выполнение в потоке приложения, используйте метод SendAsync .To send a message and continue executing in the application thread, use the SendAsync method.