(0) exportieren Drucken
Alle erweitern

FtpWebRequest.BeginGetRequestStream-Methode

Beginnt das asynchrone Öffnen des Inhaltsstreams einer Anforderung zum Schreiben.

Namespace: System.Net
Assembly: System (in system.dll)

public override IAsyncResult BeginGetRequestStream (
	AsyncCallback callback,
	Object state
)
public IAsyncResult BeginGetRequestStream (
	AsyncCallback callback, 
	Object state
)
public override function BeginGetRequestStream (
	callback : AsyncCallback, 
	state : Object
) : IAsyncResult
Nicht zutreffend.

Parameter

callback

Ein AsyncCallback-Delegat, der auf die Methode verweist, die aufgerufen wird, wenn der Vorgang abgeschlossen wurde.

state

Ein benutzerdefiniertes Objekt, das Informationen über den Vorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den callback-Delegaten übergeben.

Rückgabewert

Eine IAsyncResult-Instanz, die den Status des Vorgangs angibt.

AusnahmetypBedingung

InvalidOperationException

Ein vorheriger Aufruf dieser Methode oder GetRequestStream wurde noch nicht abgeschlossen.

WebException

Es konnte keine Verbindung mit dem FTP-Server hergestellt werden.

ProtocolViolationException

Die Method-Eigenschaft ist nicht auf UploadFile festgelegt.

Sie müssen den asynchronen Vorgang abschließen, indem Sie die EndGetRequestStream-Methode aufrufen. Normalerweise wird EndGetRequestStream von der Methode aufgerufen, auf die callback verweist. Um den Zustand des Vorgangs zu bestimmen, überprüfen Sie die Eigenschaften im von dieser Methode zurückgegebenen IAsyncResult-Objekt.

Diese Methode wird während des Wartens auf den Stream nicht blockiert. Um die Ausführung zu blockieren, rufen Sie statt dieser Methode GetRequestStream auf.

Ausführliche Informationen über die Verwendung des asynchronen Programmiermodells finden Sie unter Asynchrones Aufrufen von synchronen Methoden.

HinweisHinweis:

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung.

Hinweise zu Aufrufern: Diese Methode generiert Netzwerkverkehr.

Im folgenden Codebeispiel wird das Starten eines asynchronen Vorgangs zum Abrufen des Streams einer Anforderung veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die FtpWebRequest-Klassenübersicht.

// Command line arguments are two strings:
// 1. The url that is the name of the file being uploaded to the server.
// 2. The name of the file on the local machine.
//
public static void Main(string[] args)
{
    // Create a Uri instance with the specified URI string.
    // If the URI is not correctly formed, the Uri constructor
    // will throw an exception.
    ManualResetEvent waitObject;
    
    Uri target = new Uri (args[0]);
    string fileName = args[1];
    FtpState state = new FtpState();
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
    request.Method = WebRequestMethods.Ftp.UploadFile;
    
    // This example uses anonymous logon.
    // The request is anonymous by default; the credential does not have to be specified. 
    // The example specifies the credential only to
    // control how actions are logged on the server.
    
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    
    // Store the request in the object that we pass into the
    // asynchronous operations.
    state.Request = request;
    state.FileName = fileName;
    
    // Get the event to wait on.
    waitObject = state.OperationComplete;
    
    // Asynchronously get the stream for the file contents.
    request.BeginGetRequestStream(
        new AsyncCallback (EndGetStreamCallback), 
        state
    );
    
    // Block the current thread until all operations are complete.
    waitObject.WaitOne();
    
    // The operations either completed or threw an exception.
    if (state.OperationException != null)
    {
        throw state.OperationException;
    }
    else
    {
        Console.WriteLine("The operation completed - {0}", state.StatusDescription);
    }
}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen:
© 2014 Microsoft