UploadFileCompletedEventHandler UploadFileCompletedEventHandler UploadFileCompletedEventHandler UploadFileCompletedEventHandler Delegate

Definición

Representa el método que controlará el evento UploadFileCompleted de WebClient.Represents the method that will handle the UploadFileCompleted event of a WebClient.

public delegate void UploadFileCompletedEventHandler(System::Object ^ sender, UploadFileCompletedEventArgs ^ e);
public delegate void UploadFileCompletedEventHandler(object sender, UploadFileCompletedEventArgs e);
type UploadFileCompletedEventHandler = delegate of obj * UploadFileCompletedEventArgs -> unit
Public Delegate Sub UploadFileCompletedEventHandler(sender As Object, e As UploadFileCompletedEventArgs)

Parámetros

sender
Object Object Object Object

Origen del evento.The source of the event.

Herencia
UploadFileCompletedEventHandlerUploadFileCompletedEventHandlerUploadFileCompletedEventHandlerUploadFileCompletedEventHandler

Ejemplos

El siguiente ejemplo de código muestra cómo cargar un archivo de forma asincrónica.The following code example demonstrates asynchronously uploading a file.

// Sample call: UploadFileInBackground("http://www.contoso.com/fileUpload.aspx", "data.txt")
void UploadFileInBackground( String^ address, String^ fileName )
{
   System::Threading::AutoResetEvent^ waiter = gcnew System::Threading::AutoResetEvent( false );
   WebClient^ client = gcnew WebClient;
   Uri ^uri = gcnew Uri(address);
   String^ method = "POST";
   
   // Specify that that UploadFileCallback method gets called
   // when the file upload completes.
   client->UploadFileCompleted += gcnew UploadFileCompletedEventHandler( UploadFileCallback );
   client->UploadFileAsync( uri, method, fileName, waiter );
   
   // Block the main application thread. Real applications
   // can perform other tasks while waiting for the upload to complete.
   waiter->WaitOne();
   Console::WriteLine( "File upload is complete." );
}


// Sample call: UploadFileInBackground("http://www.contoso.com/fileUpload.aspx", "data.txt")
public static void UploadFileInBackground (string address, string fileName)
{
    System.Threading.AutoResetEvent waiter = new System.Threading.AutoResetEvent (false);
    WebClient client = new WebClient ();
    Uri uri = new Uri(address);
    string method = "POST";

    // Specify that that UploadFileCallback method gets called
    // when the file upload completes.
    client.UploadFileCompleted += new UploadFileCompletedEventHandler (UploadFileCallback);
    client.UploadFileAsync (uri, method, fileName, waiter);

    // Block the main application thread. Real applications
    // can perform other tasks while waiting for the upload to complete.
    waiter.WaitOne ();
    Console.WriteLine ("File upload is complete.");
}

'  Sample call: UploadFileInBackground("http:' www.contoso.com/fileUpload.aspx", "data.txt")
Public Shared Sub UploadFileInBackground(ByVal address As String, ByVal fileName As String)

	Dim waiter As System.Threading.AutoResetEvent = New System.Threading.AutoResetEvent(False)
	Dim client As WebClient = New WebClient()
	Dim method As String = "POST"
                       Dim uri as Uri =  New Uri(address)

	'  Specify that that UploadFileCallback method gets called
	'  when the file upload completes.
	AddHandler client.UploadFileCompleted, AddressOf UploadFileCallback
	client.UploadFileAsync(uri, method, fileName, waiter)

	'  Block the main application thread. Real applications
	'  can perform other tasks while waiting for the upload to complete.
	waiter.WaitOne()
	Console.WriteLine("File upload is complete.")
End Sub

El siguiente método se llama cuando se complete la carga.The following method is called when the upload completes.

void UploadFileCallback( Object^ /*sender*/, UploadFileCompletedEventArgs^ e )
{
   System::Threading::AutoResetEvent^ waiter = dynamic_cast<System::Threading::AutoResetEvent^>(e->UserState);
   ;
   try
   {
      String^ reply = System::Text::Encoding::UTF8->GetString( e->Result );
      Console::WriteLine( reply );
   }
   finally
   {
      
      // If this thread throws an exception, make sure that
      // you let the main application thread resume.
      waiter->Set();
   }

}


private static void UploadFileCallback (Object sender, UploadFileCompletedEventArgs e)
{
    System.Threading.AutoResetEvent waiter = (System.Threading.AutoResetEvent)e.UserState;;
    try
    {
        string reply = System.Text.Encoding.UTF8.GetString (e.Result);

        Console.WriteLine (reply);
    }
    finally
    {
        // If this thread throws an exception, make sure that
        // you let the main application thread resume.
        waiter.Set ();
    }
}

Private Shared Sub UploadFileCallback(ByVal sender As Object, ByVal e As System.Net.UploadFileCompletedEventArgs)

    Dim waiter As System.Threading.AutoResetEvent = CType(e.UserState, System.Threading.AutoResetEvent)
    Try

        Dim reply As String = System.Text.Encoding.UTF8.GetString(e.Result)
        Console.WriteLine(reply)
    Finally
        '  If this thread throws an exception, make sure that
        '  you let the main application thread resume.
        waiter.Set()
    End Try
End Sub

Comentarios

Cuando se crea un delegado UploadFileCompletedEventHandler, se identifica el método que controlará el evento.When you create a UploadFileCompletedEventHandler delegate, you identify the method that will handle the event. Para asociar el evento al controlador, se debe agregar una instancia del delegado al evento.To associate the event with your event handler, add an instance of the delegate to the event. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado.The event handler is called whenever the event occurs, unless you remove the delegate. Para obtener más información sobre los delegados de controlador de eventos, consulte controlar y provocar eventos.For more information about event handler delegates, see Handling and Raising Events.

Extension Methods

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.Gets an object that represents the method represented by the specified delegate.

Se aplica a