User guide
Table Of Contents
- AWS SDK for .NET
- Table of Contents
- AWS SDK for .NET Developer Guide
- Getting Started with the AWS SDK for .NET
- Programming with the AWS SDK for .NET
- AWS SDK for .NET Tutorials and Examples
- Managing ASP.NET Session State with Amazon DynamoDB
- Tutorial: Creating Amazon EC2 Instances with the AWS SDK for .NET
- Tutorial: Grant Access Using an IAM Role and the AWS SDK for .NET
- Tutorial: Amazon EC2 Spot Instances
- Creating and Using an Amazon SQS Queue with the AWS SDK for .NET
- Creating an Amazon Route 53 Hosted Zone and Adding Resource Record Sets
- Additional Resources
- Document History

• The version 2 runtime for .NET 3.5 is similar to the existing version 1 runtime, which is based on the
System.Net.HttpWebRequest class and uses the Begin and End pattern for asynchronous methods.
• The version 2 runtime for .NET 4.5 is based on the new System.Net.Http.HttpClient class and uses
Tasks for asynchronous methods, which enables users to use the new async and await keywords
in C# 5.0.
The WinRT and Windows Phone 8 versions of the SDK reuse the runtime for .NET 4.5, with the exception
that they support asynchronous methods only.Windows Phone 8 doesn't natively support System.Net.Ht-
tp.HttpClient, so the SDK depends on Microsoft's portable class implementation of HttpClient,
which is hosted on NuGet at the following URL:
• http://nuget.org/packages/Microsoft.Net.Http/2.1.10
Removal of the "With" Methods
The "With" methods have been removed from version 2 of the SDK for the following reasons:
• In .NET 3.0, constructor initializers were added, making the "With" methods redundant.
• The "With" methods added significant overhead to the API design and worked poorly in cases of inher-
itance.
For example, in version 1 of the SDK, you would use "With" methods to set up a TransferUtilityUp-
loadRequest:
TransferUtilityUploadRequest uploadRequest = new TransferUtilityUploadRequest()
.WithBucketName("my-bucket")
.WithKey("test")
.WithFilePath("c:\test.txt")
.WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256);
In the current version of the SDK, use constructor initializers instead:
TransferUtilityUploadRequest uploadRequest = new TransferUtilityUploadRequest()
{
BucketName = "my-bucket", Key = "test", FilePath = "c:\test.txt",
ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256
};
Removal of SecureString
The use of System.Security.SecureString was removed in version 2 of the SDK because it is not
available on the WinRT and Windows Phone 8 platforms.
Breaking Changes
Many classes and properties were changed to either meet .NET naming conventions or more closely
follow service documentation. Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute
Cloud (Amazon EC2) were the most affected by this because they are the oldest services in the SDK
and were moved to the new common runtime. Below are the most visible changes.
Version v2.0.0
25
AWS SDK for .NET Developer Guide
What's Different