FtpWebRequest.Timeout Eigenschap

Definitie

Hiermee wordt het aantal milliseconden opgehaald of ingesteld dat moet worden gewacht op een aanvraag.

public:
 virtual property int Timeout { int get(); void set(int value); };
public override int Timeout { get; set; }
member this.Timeout : int with get, set
Public Overrides Property Timeout As Integer

Waarde van eigenschap

Een Int32 waarde die het aantal milliseconden bevat dat moet worden gewacht voordat er een time-out optreedt voor een aanvraag. De standaardwaarde is Infinite.

Uitzonderingen

De opgegeven waarde is kleiner dan nul en is niet Infinite.

Er is een nieuwe waarde opgegeven voor deze eigenschap voor een aanvraag die al wordt uitgevoerd.

Voorbeelden

In het volgende codevoorbeeld wordt deze eigenschap ingesteld.

public static bool UploadUniqueFileOnServer (Uri serverUri, string fileName)
{
    // The URI described by serverUri should use the ftp:// scheme.
    // It contains the name of the directory on the server.
    // Example: ftp://contoso.com.
    //
    // The fileName parameter identifies the file containing the data to be uploaded.

    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.UploadFileWithUniqueName;
    // Set a time limit for the operation to complete.
    request.Timeout = 600000;

    // Copy the file contents to the request stream.
    const int bufferLength = 2048;
    byte[] buffer = new byte[bufferLength];
    int count = 0;
    int readBytes = 0;
    FileStream stream = File.OpenRead(fileName);
    Stream requestStream = request.GetRequestStream();
    do
    {
        readBytes = stream.Read(buffer, 0, bufferLength);
        requestStream.Write(buffer, 0, bufferLength);
        count += readBytes;
    }
    while (readBytes != 0);

    Console.WriteLine ("Writing {0} bytes to the stream.", count);
    // IMPORTANT: Close the request stream before sending the request.
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();
    Console.WriteLine("Upload status: {0}, {1}",response.StatusCode, response.StatusDescription);
    Console.WriteLine ("File name: {0}", response.ResponseUri);
    response.Close();
    return true;
}

Opmerkingen

Als u een oneindige waarde wilt opgeven, stelt u de Timeout eigenschap in op Infinite (-1). Dit is de standaardwaarde.

Timeout is het aantal milliseconden dat een synchrone aanvraag met de GetResponse methode wacht op een antwoord en dat de GetRequestStream methode wacht op een stream. Als een resource niet binnen de time-outperiode reageert, genereert de aanvraag een WebException met de Status eigenschap ingesteld op Timeout.

Het wijzigen van Timeout na het aanroepen van de GetRequestStream, BeginGetRequestStream, GetResponse, of BeginGetResponse methode veroorzaakt een InvalidOperationException uitzondering.

Het kan tot 15 seconden duren voordat een DNS-query (Domain Name System) retourneert of een time-out optreedt. Als uw aanvraag een hostnaam bevat waarvoor een oplossing is vereist en u een waarde hebt ingesteld Timeout die kleiner is dan 15 seconden, kan het 15 seconden of langer duren voordat een WebException time-out op uw aanvraag wordt aangegeven.

Van toepassing op

Zie ook