HttpStreamContent HttpStreamContent HttpStreamContent HttpStreamContent Class

Definition

Provides HTTP content that uses a stream.

public : sealed class HttpStreamContent : IClosable, IStringable, IHttpContent
public sealed class HttpStreamContent : IDisposable, IStringable, IHttpContent
Public NotInheritable Class HttpStreamContent Implements IDisposable, IStringable, IHttpContent
var httpStreamContent = new httpStreamContent(content);
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Constructors

HttpStreamContent(IInputStream) HttpStreamContent(IInputStream) HttpStreamContent(IInputStream) HttpStreamContent(IInputStream)

Initializes a new instance of the HttpStreamContent class with the specified content.

public : HttpStreamContent(IInputStream content)
public HttpStreamContent(IInputStream content)
Public Sub New(content As IInputStream)
var httpStreamContent = new httpStreamContent(content);
Parameters
content
IInputStream IInputStream IInputStream IInputStream

The content used to initialize the HttpStreamContent.

Remarks

Below are the exceptions that this function throws.

E_INVALIDARG

The content parameter is null (Nothing in Visual Basic).

Properties

Headers Headers Headers Headers

Get a collection of content headers set on the HttpStreamContent.

public : HttpContentHeaderCollection Headers { get; }
public HttpContentHeaderCollection Headers { get; }
Public ReadOnly Property Headers As HttpContentHeaderCollection
var httpContentHeaderCollection = httpStreamContent.headers;
See Also

Methods

BufferAllAsync() BufferAllAsync() BufferAllAsync() BufferAllAsync()

Serialize the HttpStreamContent into memory as an asynchronous operation.

public : IAsyncOperationWithProgress<ulong, ulong> BufferAllAsync()
public IAsyncOperationWithProgress<ulong, ulong> BufferAllAsync()
Public Function BufferAllAsync() As IAsyncOperationWithProgress( Of ulong )( Of ulong )
var iAsyncOperationWithProgress = httpStreamContent.bufferAllAsync();
Returns

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(UInt64, UInt64) object will complete after all of the content has been written into memory.

The HttpStreamContent class can be used to stream content that might be of arbitrary length. The BufferAllAsync method will fail if all of the HttpStreamContent can't fit in memory.

Close() Close() Close() Close()

Closes the HttpStreamContent instance and releases allocated resources.

public : void Close()
This member is not implemented in C#
This member is not implemented in VB.Net
httpStreamContent.close();

Remarks

The Close method releases allocated resources used by the HttpStreamContent instance. The Close method can manage the lifetime of system resources (memory for the HttpStreamContent, for example) used by a Windows Runtime object.

In the .NET Framework 4.5, this method projects as the Dispose method. In Visual C++ component extensions (C++/CX), this method projects as the destructor (delete operator).

Apps written in JavaScript, C#, or VB.NET use garbage collection to release resources. So the HttpStreamContent object and associated resources doesn't get released until the garbage collection pass runs. The Close method allows an app to release these resources early rather than waiting for the object to be released by garbage collection.

Apps written in C++ or CX don't have a Close method since these apps can destroy the object. In C++ and CX, objects are released when they fall out of program scope or as part of the destructor (delete operator) for the object.

Dispose() Dispose() Dispose() Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

This member is not implemented in C++
void Dispose()
Sub Dispose
void Dispose()

ReadAsBufferAsync() ReadAsBufferAsync() ReadAsBufferAsync() ReadAsBufferAsync()

Serialize the HttpStreamContent to a buffer as an asynchronous operation.

public : IAsyncOperationWithProgress<IBuffer, ulong> ReadAsBufferAsync()
public IAsyncOperationWithProgress<IBuffer, ulong> ReadAsBufferAsync()
Public Function ReadAsBufferAsync() As IAsyncOperationWithProgress( Of IBuffer )( Of ulong )
var iAsyncOperationWithProgress = httpStreamContent.readAsBufferAsync();
Returns

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(IBuffer, UInt64) object will complete after all of the content has been written to the buffer.

The HttpStreamContent class can be used to stream content that might be of arbitrary length. The ReadAsBufferAsync method will fail if all of the HttpStreamContent can't fit in memory since this method requires the entire content to be buffered in memory first.

ReadAsInputStreamAsync() ReadAsInputStreamAsync() ReadAsInputStreamAsync() ReadAsInputStreamAsync()

Serialize the HttpStreamContent and return an input stream that represents the content as an asynchronous operation.

public : IAsyncOperationWithProgress<IInputStream, ulong> ReadAsInputStreamAsync()
public IAsyncOperationWithProgress<IInputStream, ulong> ReadAsInputStreamAsync()
Public Function ReadAsInputStreamAsync() As IAsyncOperationWithProgress( Of IInputStream )( Of ulong )
var iAsyncOperationWithProgress = httpStreamContent.readAsInputStreamAsync();
Returns

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(IInputStream, UInt64) object will complete after all of the content has been written to the stream.

ReadAsStringAsync() ReadAsStringAsync() ReadAsStringAsync() ReadAsStringAsync()

Serialize the HttpStreamContent to a String as an asynchronous operation.

public : IAsyncOperationWithProgress<Platform::String, ulong> ReadAsStringAsync()
public IAsyncOperationWithProgress<string, ulong> ReadAsStringAsync()
Public Function ReadAsStringAsync() As IAsyncOperationWithProgress( Of string )( Of ulong )
var iAsyncOperationWithProgress = httpStreamContent.readAsStringAsync();
Returns

The object representing the asynchronous operation.

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(String, UInt64) object will complete after all of the content has been written to the String.

The HttpStreamContent class can be used to stream content that might be of arbitrary length. The ReadAsStringAsync method will fail if all of the HttpStreamContent can't fit in memory since this method requires the entire content to be buffered in memory first.

ToString() ToString() ToString() ToString()

Returns a string that represents the current HttpStreamContent object.

public : Platform::String ToString()
public string ToString()
Public Function ToString() As string
var string = httpStreamContent.toString();
Returns
Platform::String string string string

A string that represents the current object.

TryComputeLength(UInt64) TryComputeLength(UInt64) TryComputeLength(UInt64) TryComputeLength(UInt64)

Determines whether the HttpStreamContent has a valid length in bytes.

public : Platform::Boolean TryComputeLength(unsigned __int64 length)
public bool TryComputeLength(UInt64 length)
Public Function TryComputeLength(length As UInt64) As bool
var bool = httpStreamContent.tryComputeLength(length);
Parameters
length
unsigned __int64 UInt64 UInt64 UInt64

The length in bytes of the HttpStreamContent.

Returns
Platform::Boolean bool bool bool

true if length is a valid length; otherwise, false.

Remarks

The TryComputeLength method calculates the content length for HTTP content in HttpStreamContent. Headers set on the content are not included in the content length. This is useful for content types that are easy to calculate the content length.

If computing the content length is not possible or expensive (would require the system to buffer the whole content where the serialization would be expensive or require the system to allocate a lot of memory), this method can return false. If this method returns false, this implies that either chunked transfer is needed or the content must get buffered before being sent to the server.

WriteToStreamAsync(IOutputStream) WriteToStreamAsync(IOutputStream) WriteToStreamAsync(IOutputStream) WriteToStreamAsync(IOutputStream)

Write the HttpStreamContent to an output stream as an asynchronous operation.

public : IAsyncOperationWithProgress<ulong, ulong> WriteToStreamAsync(IOutputStream outputStream)
public IAsyncOperationWithProgress<ulong, ulong> WriteToStreamAsync(IOutputStream outputStream)
Public Function WriteToStreamAsync(outputStream As IOutputStream) As IAsyncOperationWithProgress( Of ulong )( Of ulong )
var iAsyncOperationWithProgress = httpStreamContent.writeToStreamAsync(outputStream);
Parameters
outputStream
IOutputStream IOutputStream IOutputStream IOutputStream

The output stream to write to.

Returns

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(UInt64, UInt64) object will complete after all of the content has been written to the output stream.