Updated: February 25, 2016
Applies To: SQL Server 2016
Creates and registers a stream and is called by a report server to retrieve the stream to which to render a report.
Assemblies: Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)
Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
public delegate Stream CreateAndRegisterStream( string name, string extension, Encoding encoding, string mimeType, bool willSeek, StreamOper operation )
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.
The file extension of the stream.
The character encoding of the stream. This can be null if the stream does not contain characters.
The MIME type of the stream.
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.
Return ValueType: 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.