Aracılığıyla paylaş


SmtpClient.Timeout Özellik

Tanım

Zaman uyumlu Send çağrının zaman aşımına uğradıktan sonraki süresini belirten bir değer alır veya ayarlar.

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

Özellik Değeri

Int32 Milisaniye cinsinden zaman aşımı değerini belirten bir. Varsayılan değer 100.000'dir (100 saniye).

Özel durumlar

Bir küme işlemi için belirtilen değer sıfırdan küçüktür.

E-posta gönderilirken bu özelliğin değerini değiştiremezsiniz.

Örnekler

Aşağıdaki kod örneğinde zaman aşımı değerini alma ve ayarlama işlemleri gösterilmektedir.

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);
}

Açıklamalar

Varsayılan olarak, işlem tamamlanana Send kadar yöntem bloğunu çağırır. özelliğini pozitif bir değere ayarlarsanız Timeout ve ayrılan sürede bir Send işlem tamamlanamazsa, SmtpClient sınıf bir SmtpException özel durum oluşturur.

İleti göndermek ve uygulama iş parçacığında yürütmeye devam etmek için yöntemini kullanın SendAsync .

Şunlara uygulanır