Silverlight 5 WinRT

  public sealed class BackgroundDownloader
  : __ComObject, IBackgroundDownloader, IBackgroundTransferBase
  static public GetCurrentDownloadsOperation GetCurrentDownloadsAsync();
  public virtual void SetCostPolicy(BackgroundTransferCostPolicy value);
  public virtual void SetMethod(String value);
  public virtual void SetProxyCredential(IPasswordCredential credential);
  public virtual void SetRequestBodyFile(IStorageFile value);
  public virtual SetStreamOperation SetRequestBodyStreamAsync(IInputStream sourceStream);
  public virtual void SetRequestHeader(String headerName, String headerValue);
  public virtual void SetServerCredential(IPasswordCredential credential);
  public virtual DownloadOperation StartDownloadAsync(Uri uri, IStorageFile resultFile);

  public sealed struct BackgroundDownloadProgress
  : ValueType

  public sealed enum BackgroundTransferCostPolicy
  : IComparable, IFormattable, IConvertible
  { AvoidNetworkCharges, AcceptNetworkCharges }

  public sealed enum BackgroundTransferStatus
  : IComparable, IFormattable, IConvertible
  { Running, PausedByApplication, PausedCostedNetwork, PausedNoNetwork }

  public sealed class BackgroundUploader
  : __ComObject, IBackgroundUploader, IBackgroundTransferBase
  static public GetCurrentUploadsOperation GetCurrentUploadsAsync();
  public virtual void SetCostPolicy(BackgroundTransferCostPolicy value);
  public virtual void SetMethod(String value);
  public virtual void SetProxyCredential(IPasswordCredential credential);
  public virtual void SetRequestHeader(String headerName, String headerValue);
  public virtual void SetServerCredential(IPasswordCredential credential);
  public virtual void SetSourceFile(IStorageFile value);
  public virtual SetStreamOperation SetSourceStreamAsync(IInputStream sourceStream);
  public virtual UploadOperation StartUploadAsync(Uri uri);
  public virtual UploadOperation StartUploadAsync(Uri uri, IStorageFile sourceFile);

  public sealed struct BackgroundUploadProgress
  : ValueType

  public sealed class DownloadOperation
  : __ComObject, IAsyncActionWithProgress`1<BackgroundDownloadProgress>, IAsyncInfo, IDownloadOperation, IBackgroundTransferOperation
  public virtual AsyncActionWithProgressCompletedHandler`1<BackgroundDownloadProgress> Completed { get; set; }
  public virtual BackgroundTransferCostPolicy CostPolicy { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual Guid Guid { get; }
  public virtual UInt32 Id { get; }
  public virtual String Method { get; }
  public virtual AsyncActionProgressHandler`1<BackgroundDownloadProgress> Progress { get; set; }
  public virtual BackgroundDownloadProgress ProgressStatus { get; }
  public virtual Uri RequestedUri { get; }
  public virtual IStorageFile ResultFile { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual ResponseInformation GetResponseInformation();
  public virtual void GetResults();
  public virtual IInputStream GetResultStreamAt(UInt64 position);
  public virtual void Pause();
  public virtual void Resume();
  public virtual void Start();

  public sealed class GetCurrentDownloadsOperation
  : __ComObject, IAsyncOperation`1<IReadOnlyList`1<DownloadOperation>>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<IReadOnlyList`1<DownloadOperation>> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual IReadOnlyList`1<DownloadOperation> GetResults();
  public virtual void Start();

  public sealed class GetCurrentUploadsOperation
  : __ComObject, IAsyncOperation`1<IReadOnlyList`1<UploadOperation>>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<IReadOnlyList`1<UploadOperation>> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual IReadOnlyList`1<UploadOperation> GetResults();
  public virtual void Start();

  public abstract interface IBackgroundDownloaderStaticMethods
 
  public abstract virtual GetCurrentDownloadsOperation GetCurrentDownloadsAsync();

  public abstract interface IBackgroundTransferBase
 
  public abstract virtual void SetCostPolicy(BackgroundTransferCostPolicy value);
  public abstract virtual void SetMethod(String value);
  public abstract virtual void SetProxyCredential(IPasswordCredential credential);
  public abstract virtual void SetRequestHeader(String headerName, String headerValue);
  public abstract virtual void SetServerCredential(IPasswordCredential credential);

  public abstract interface IBackgroundTransferOperation
 
  public abstract virtual BackgroundTransferCostPolicy CostPolicy { get; set; }
  public abstract virtual Guid Guid { get; }
  public abstract virtual String Method { get; }
  public abstract virtual Uri RequestedUri { get; }
  public abstract virtual ResponseInformation GetResponseInformation();
  public abstract virtual IInputStream GetResultStreamAt(UInt64 position);

  public abstract interface IBackgroundUploaderStaticMethods
 
  public abstract virtual GetCurrentUploadsOperation GetCurrentUploadsAsync();

  public sealed class ResponseInformation
  : __ComObject, IResponseInformation
  public virtual Uri ActualUri { get; }
  public virtual IReadOnlyDictionary`2<String, String> Headers { get; }
  public virtual Boolean IsResumable { get; }
  public virtual UInt32 StatusCode { get; }

  public sealed class SetStreamOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();

  public sealed class UploadOperation
  : __ComObject, IAsyncActionWithProgress`1<BackgroundUploadProgress>, IAsyncInfo, IUploadOperation, IBackgroundTransferOperation
  public virtual AsyncActionWithProgressCompletedHandler`1<BackgroundUploadProgress> Completed { get; set; }
  public virtual BackgroundTransferCostPolicy CostPolicy { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual Guid Guid { get; }
  public virtual UInt32 Id { get; }
  public virtual String Method { get; }
  public virtual AsyncActionProgressHandler`1<BackgroundUploadProgress> Progress { get; set; }
  public virtual BackgroundUploadProgress ProgressStatus { get; }
  public virtual Uri RequestedUri { get; }
  public virtual IStorageFile SourceFile { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual ResponseInformation GetResponseInformation();
  public virtual void GetResults();
  public virtual IInputStream GetResultStreamAt(UInt64 position);
  public virtual void Start();