CreateAndRegisterStream Delegate

Definition

Creates and registers a stream and is called by a report server to retrieve the stream to which to render a report.

public delegate System::IO::Stream ^ CreateAndRegisterStream(System::String ^ name, System::String ^ extension, Encoding ^ encoding, System::String ^ mimeType, bool willSeek, StreamOper operation);
public delegate System.IO.Stream CreateAndRegisterStream(string name, string extension, Encoding encoding, string mimeType, bool willSeek, StreamOper operation);
type CreateAndRegisterStream = delegate of string * string * Encoding * string * bool * StreamOper -> Stream
Public Delegate Function CreateAndRegisterStream(name As String, extension As String, encoding As Encoding, mimeType As String, willSeek As Boolean, operation As StreamOper) As Stream 

Parameters

name
String

The name of the stream. The first stream asked for must be the main body of the report, for example, the HTML for an HTML rendering, or the first page for a page-based rendering. The names must be unique within a report and must use only the characters 0-9, a-z (lower case only) and underscore (_). The underscore may not be used as the first character of the name.

extension
String

The file extension of the stream.

encoding
Encoding

The character encoding of the stream. This can be null if the stream does not contain characters.

mimeType
String

The MIME type of the stream.

willSeek
Boolean

Whether the stream needs to be seek-enabled. If false, the stream is forward only and is sent to the client in chunks, as created. If true, the stream is spooled to disk and not sent until it is closed. The default value is false.

operation
StreamOper

Indicates the operation (a StreamOper value) that the method performs.

Return Value

A Stream report.

Remarks

The main body of the report must be the first stream created. To refer to this stream in another stream, use the StreamURL of the Report object, concatenated with the name, a period, and the extension. For example, if the StreamURL is "myfiles" and this is stream "myImage" and it is a JPEG file, the stream can be referenced as "myFiles/myImage.jpg".

There can be multiple streams to render. The first time CreateAndRenderStream is called, the primary stream containing the report is returned. Any subsequent calls to CreateAndRenderStream return additional streams that have been stored in the cache. You use secondary streams when your rendering output is a composition of data chunks. For example, when the HTML rendering extensions renders a report containing pictures, the rendering extension renders the HTML page as a primary stream, and each picture is a secondary stream (one stream per picture). Inside of the HTML page, the rendering extension puts links to these secondary streams that contain the pictures. When the browser opens the HTML page, it attempts to get the pictures by following the links to the pictures. To create a link from the primary stream to the secondary stream, use the StreamURL method on the Report class as indicated previously.

Applies to