Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
DownloadDataCompletedEventArgs Class
Collapse the table of content
Expand the table of content

DownloadDataCompletedEventArgs Class

Provides data for the DownloadDataCompleted event.

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

public ref class DownloadDataCompletedEventArgs : public AsyncCompletedEventArgs

The DownloadDataCompletedEventArgs type exposes the following members.

  NameDescription
Public propertyCancelledGets a value indicating whether an asynchronous operation has been canceled. (Inherited from AsyncCompletedEventArgs.)
Public propertyErrorGets a value indicating which error occurred during an asynchronous operation. (Inherited from AsyncCompletedEventArgs.)
Public propertyResultGets the data that is downloaded by a DownloadDataAsync method.
Public propertyUserStateGets the unique identifier for the asynchronous task. (Inherited from AsyncCompletedEventArgs.)
Top

  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodRaiseExceptionIfNecessaryRaises a user-supplied exception if an asynchronous operation failed. (Inherited from AsyncCompletedEventArgs.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

Instances of this class are passed to the DownloadDataCompletedEventHandler.

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();
}

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();
   }

}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2015 Microsoft