DownloadDataCompletedEventArgs Class

 

Provides data for the DownloadDataCompleted event.

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

System::Object
  System::EventArgs
    System.ComponentModel::AsyncCompletedEventArgs
      System.Net::DownloadDataCompletedEventArgs

public ref class DownloadDataCompletedEventArgs : AsyncCompletedEventArgs

NameDescription
System_CAPS_pubpropertyCancelled

Gets a value indicating whether an asynchronous operation has been canceled.(Inherited from AsyncCompletedEventArgs.)

System_CAPS_pubpropertyError

Gets a value indicating which error occurred during an asynchronous operation.(Inherited from AsyncCompletedEventArgs.)

System_CAPS_pubpropertyResult

Gets the data that is downloaded by a DownloadDataAsync method.

System_CAPS_pubpropertyUserState

Gets the unique identifier for the asynchronous task.(Inherited from AsyncCompletedEventArgs.)

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodRaiseExceptionIfNecessary()

Raises a user-supplied exception if an asynchronous operation failed.(Inherited from AsyncCompletedEventArgs.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

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
Available since 2.0

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

Return to top
Show: