DownloadDataCompletedEventHandler DownloadDataCompletedEventHandler DownloadDataCompletedEventHandler DownloadDataCompletedEventHandler Delegate

Definition

Stellt die Methode zur Behandlung des DownloadDataCompleted-Ereignisses eines WebClient-Objekts dar.Represents the method that will handle the DownloadDataCompleted event of a WebClient.

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

Parameter

sender
Object Object Object Object

Die Quelle des Ereignisses.The source of the event.

Vererbung
DownloadDataCompletedEventHandlerDownloadDataCompletedEventHandlerDownloadDataCompletedEventHandlerDownloadDataCompletedEventHandler

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, eine vom Benutzer angegebenen Ressource heruntergeladen.The following code example demonstrates downloading a user-specified resource.

// Sample call : DownLoadDataInBackground ("http://www.contoso.com/GameScores.html");
void DownloadDataInBackground( String^ address )
{
   System::Threading::AutoResetEvent^ waiter = gcnew System::Threading::AutoResetEvent( false );
   WebClient^ client = gcnew WebClient;
   Uri ^uri = gcnew Uri(address);
   
   // Specify that the DownloadDataCallback method gets called
   // when the download completes.
   client->DownloadDataCompleted += gcnew DownloadDataCompletedEventHandler( DownloadDataCallback );
   client->DownloadDataAsync( uri, waiter );
   
   // Block the main application thread. Real applications
   // can perform other tasks while waiting for the download to complete.
   waiter->WaitOne();
}


// Sample call : DownLoadDataInBackground ("http://www.contoso.com/GameScores.html");
public static void DownloadDataInBackground (string address)
{
    System.Threading.AutoResetEvent waiter = new System.Threading.AutoResetEvent (false);
    WebClient client = new WebClient ();
    Uri uri = new Uri(address);

    // Specify that the DownloadDataCallback method gets called
    // when the download completes.
    client.DownloadDataCompleted += new DownloadDataCompletedEventHandler (DownloadDataCallback);
    client.DownloadDataAsync (uri, waiter);

    // Block the main application thread. Real applications
    // can perform other tasks while waiting for the download to complete.
    waiter.WaitOne ();
}

'  Sample call : DownLoadDataInBackground ("http:' www.contoso.com/GameScores.html")
Public Shared Sub DownloadDataInBackground(ByVal address As String)

	Dim waiter As System.Threading.AutoResetEvent = New System.Threading.AutoResetEvent(False)
	Dim client As WebClient = New WebClient()

	'  Specify that the DownloadDataCallback method gets called
	'  when the download completes.
	AddHandler client.DownloadDataCompleted, AddressOf DownloadDataCallback
                      Dim uri as Uri = New Uri(address)
	client.DownloadDataAsync(uri, waiter)

	'  Block the main application thread. Real applications
	'  can perform other tasks while waiting for the download to complete.
	waiter.WaitOne()
End Sub

Die folgende Methode wird aufgerufen, wenn der Download abgeschlossen ist.The following method is called when the download completes.

void DownloadDataCallback( Object^ /*sender*/, DownloadDataCompletedEventArgs^ e )
{
   System::Threading::AutoResetEvent^ waiter = dynamic_cast<System::Threading::AutoResetEvent^>(e->UserState);
   try
   {
      
      // If the request was not canceled and did not throw
      // an exception, display the resource.
      if (  !e->Cancelled && e->Error == nullptr )
      {
         array<Byte>^data = dynamic_cast<array<Byte>^>(e->Result);
         String^ textData = System::Text::Encoding::UTF8->GetString( data );
         Console::WriteLine( textData );
      }
   }
   finally
   {
      
      // Let the main application thread resume.
      waiter->Set();
   }

}


private static void DownloadDataCallback (Object sender, DownloadDataCompletedEventArgs e)
{
    System.Threading.AutoResetEvent waiter = (System.Threading.AutoResetEvent)e.UserState;

    try
    {
        // If the request was not canceled and did not throw
        // an exception, display the resource.
        if (!e.Cancelled && e.Error == null)
        {
            byte[] data = (byte[])e.Result;
            string textData = System.Text.Encoding.UTF8.GetString (data);

            Console.WriteLine (textData);
        }
    }
    finally
    {
        // Let the main application thread resume.
        waiter.Set ();
    }
}

Private Shared Sub DownloadDataCallback(ByVal sender As Object, ByVal e As DownloadDataCompletedEventArgs)

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

    Try

        '  If the request was not canceled and did not throw
        '  an exception, display the resource.
        If e.Cancelled = False AndAlso e.Error Is Nothing Then

            Dim data() As Byte = CType(e.Result, Byte())
            Dim textData As String = System.Text.Encoding.UTF8.GetString(data)

            Console.WriteLine(textData)
        End If
    Finally

        '  Let the main application thread resume.
        waiter.Set()
    End Try
End Sub

Hinweise

Beim Erstellen eines DownloadDataCompletedEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung.When you create a DownloadDataCompletedEventHandler delegate, you identify the method that will handle the event. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu.To associate the event with your event handler, add an instance of the delegate to the event. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird.The event handler is called whenever the event occurs, unless you remove the delegate. Weitere Informationen zu den Ereignishandlerdelegaten, finden Sie unter behandeln und Auslösen von Ereignissen.For more information about event handler delegates, see Handling and Raising Events.

Erweiterungsmethoden

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

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.Gets an object that represents the method represented by the specified delegate.

Gilt für: