User guide

Table Of Contents
No Callback Specified
The following example code calls BeginPutObject, performs some work, then calls EndPutObject to
retrieve the service response.The call to EndPutObject is enclosed in a try block to catch any exceptions
that might have been thrown during the operation.
asyncResult = client.BeginPutObject(request, null, null);
while ( ! asyncResult.IsCompleted ) {
//
// Do some work here
//
}
try {
response = client.EndPutObject(asyncResult);
}
catch (AmazonS3Exception s3Exception) {
//
// Code to process exception
//
}
Simple Callback
This example assumes that the following callback function has been defined.
public static void SimpleCallback(IAsyncResult asyncResult)
{
Console.WriteLine("Finished PutObject operation with simple callback");
}
The following line of code calls BeginPutObject and specifies the above callback function. When the
PutObject operation completes, the callback function is called. The call to BeginPutObject specifies
null for the state parameter because the simple callback function does not access the AsyncState
property of the asyncResult parameter. Neither the calling code or the callback function call EndPutO-
bject.Therefore, the service response is effectively discarded and any exceptions that occur during the
operation are ignored.
asyncResult = client.BeginPutObject(request, SimpleCallback, null);
Callback with Client
This example assumes that the following callback function has been defined.
public static void CallbackWithClient(IAsyncResult asyncResult)
{
try {
AmazonS3Client s3Client = (AmazonS3Client) asyncResult.AsyncState;
PutObjectResponse response = s3Client.EndPutObject(asyncResult);
Console.WriteLine("Finished PutObject operation with client callback");
}
catch (AmazonS3Exception s3Exception) {
//
// Code to process exception
//
Version v2.0.0
19
AWS SDK for .NET Developer Guide
Asynchronous API for .NET 3.5