CreateAndRegisterStream Delegate

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

Namespace:  Microsoft.ReportingServices.Interfaces
Assemblies:   Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)

public delegate Stream CreateAndRegisterStream(
	string name,
	string extension,
	Encoding encoding,
	string mimeType,
	bool willSeek,
	StreamOper operation


Type: System.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.
Type: System.String
The file extension of the stream.
Type: System.Text.Encoding
The character encoding of the stream. This can be null if the stream does not contain characters.
Type: System.String
The MIME type of the stream.
Type: System.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.
Type: Microsoft.ReportingServices.Interfaces.StreamOper
Indicates the operation (a StreamOper value) that the method performs.

Return Value

Type: System.IO.Stream

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.

Community Additions