コード例 #1
0
        private static string CreateUrl(Report report, string instanceID, bool isResourceStreamRoot, string iterationId)
        {
            string str = isResourceStreamRoot ? "ResourceStreamID" : "StreamID";
            //UriBuilder handlerUri = ReportViewerFactory.HttpHandler.HandlerUri;
            string str2 = ReportDataOperation.BaseQuery(report, instanceID) + "&OpType=ReportImage&";

            if (!isResourceStreamRoot)
            {
                if (iterationId == null)
                {
                    iterationId = Guid.NewGuid().ToString("N");
                }
                str2 = str2 + "IterationId=" + HttpUtility.UrlEncode(iterationId) + "&";
            }
            str2 = (str2 + str + "=");
            return(str2);
        }
コード例 #2
0
        private void SendPrintStream(Stream stream, HttpResponse response)
        {
            int value = 0;

            if (stream != null)
            {
                value = (int)stream.Length;
            }
            byte[] bytes = BitConverter.GetBytes(value);
            foreach (byte value2 in bytes)
            {
                //response.OutputStream.WriteByte(value2);
            }
            if (stream != null)
            {
                stream.Position = 0L;
                ReportDataOperation.StreamToResponse(stream, response);
                //response.Flush();
            }
        }
コード例 #3
0
        public override void RenderReportForPrint(string deviceInfo, NameValueCollection additonalParams, HttpResponse response)
        {
            MemoryStream lastMemoryStream = null;

            ReportDataOperation.SetStreamingHeaders(null, response);
            Warning[] array = default(Warning[]);
            this.m_localReport.Render("IMAGE", deviceInfo, (CreateStreamCallback) delegate
            {
                if (lastMemoryStream != null)
                {
                    this.SendPrintStream(lastMemoryStream, response);
                    lastMemoryStream.Dispose();
                    lastMemoryStream = null;
                }
                lastMemoryStream = new MemoryStream();
                return(lastMemoryStream);
            }, out array);
            this.SendPrintStream(lastMemoryStream, response);
            lastMemoryStream.Dispose();
            this.SendPrintStream(null, response);
        }
コード例 #4
0
 public static void StreamToResponse(Stream data, string mimeType, HttpResponse response)
 {
     ReportDataOperation.SetStreamingHeaders(mimeType, response);
     ReportDataOperation.StreamToResponse(data, response);
 }
コード例 #5
0
 public static string CreateQuery(Report report, string instanceID)
 {
     return(ReportDataOperation.BaseQuery(report, instanceID) + "&OpType=PrintRequest");
 }