FtpWebRequest.BeginGetRequestStream(AsyncCallback, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Commence à ouvrir de façon asynchrone le flux de contenu d’une requête pour l’écriture.
public:
override IAsyncResult ^ BeginGetRequestStream(AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
override this.BeginGetRequestStream : AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginGetRequestStream (callback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- callback
- AsyncCallback
Délégué AsyncCallback qui fait référence à la méthode à appeler une fois l’opération terminée.
- state
- Object
Objet défini par l’utilisateur qui contient des informations sur l’opération. Cet objet est transmis au callback délégué une fois l’opération terminée.
Retours
Instance IAsyncResult qui indique l’état de l’opération.
Exceptions
Un appel précédent à cette méthode ou GetRequestStream() n’a pas encore terminé.
Impossible d’établir une connexion au serveur FTP.
La Method propriété n’est pas définie sur UploadFile.
Exemples
L’exemple de code suivant illustre le début d’une opération asynchrone pour obtenir le flux d’une requête. Cet exemple de code fait partie d’un exemple plus large fourni pour la vue d’ensemble de la FtpWebRequest classe.
// 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);
}
}
Remarques
Vous devez effectuer l’opération asynchrone en appelant la EndGetRequestStream méthode. En règle générale, EndGetRequestStream elle est appelée par la méthode référencée par callback. Pour déterminer l’état de l’opération, vérifiez les propriétés de l’objet IAsyncResult retourné par cette méthode.
Cette méthode ne bloque pas en attendant le flux. Pour bloquer, appelez GetRequestStream à la place de cette méthode.
Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez Appel asynchrone de méthodes synchrones.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Network Tracing in the .NET Framework.
Notes pour les appelants
Cette méthode génère le trafic réseau.