private RenderingInfoRoot Deserialize(Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetReportChunk getChunkCallback) { Stream stream = null; try { stream = getChunkCallback(m_chunkName, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportChunkTypes.Other, out string _); RenderingInfoRoot result = null; if (stream != null) { BinaryFormatter bFormatter = new BinaryFormatter(); RevertImpersonationContext.Run(delegate { result = (RenderingInfoRoot)bFormatter.Deserialize(stream); }); } return(result); } catch (SerializationException) { return(null); } finally { if (stream != null) { stream.Close(); } } }
internal RenderingInfoManager(string rendererID, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetReportChunk getChunkCallback, bool retrieveRenderingInfo) { m_chunkName = "RenderingInfo_" + rendererID; if (retrieveRenderingInfo) { m_renderingInfoRoot = Deserialize(getChunkCallback); } else { m_renderingInfoRoot = null; } }
internal CommonInfo(string rendererID, DateTime executionTime, ICatalogItemContext reportContext, NameValueCollection reportParameters, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetReportChunk getChunkCallback, ChunkManager.RenderingChunkManager chunkManager, IGetResource getResourceCallback, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetChunkMimeType getChunkMimeType, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.StoreServerParameters storeServerParameters, bool retrieveRenderingInfo, UserProfileState allowUserProfileState, ReportRuntimeSetup reportRuntimeSetup, IntermediateFormatVersion intermediateFormatVersion) { m_rendererID = rendererID; m_executionTime = executionTime; m_reportContext = reportContext; if (reportParameters != null) { m_replacementRoot = reportParameters["ReplacementRoot"]; } m_renderingInfoManager = new RenderingInfoManager(rendererID, getChunkCallback, retrieveRenderingInfo); m_chunkManager = chunkManager; m_getResourceCallback = getResourceCallback; m_getChunkCallback = getChunkCallback; m_getChunkMimeType = getChunkMimeType; m_storeServerParameters = storeServerParameters; m_allowUserProfileState = allowUserProfileState; m_reportRuntimeSetup = reportRuntimeSetup; m_intermediateFormatVersion = intermediateFormatVersion; }
internal RenderingContext(ReportSnapshot reportSnapshot, string rendererID, DateTime executionTime, EmbeddedImageHashtable embeddedImages, ImageStreamNames imageStreamNames, EventInformation eventInfo, ICatalogItemContext reportContext, Uri contextUri, NameValueCollection reportParameters, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetReportChunk getChunkCallback, ChunkManager.RenderingChunkManager chunkManager, IGetResource getResourceCallback, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.GetChunkMimeType getChunkMimeType, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.StoreServerParameters storeServerParameters, bool retrieveRenderingInfo, UserProfileState allowUserProfileState, ReportRuntimeSetup reportRuntimeSetup, IJobContext jobContext, IDataProtection dataProtection) { m_commonInfo = new CommonInfo(rendererID, executionTime, reportContext, reportParameters, getChunkCallback, chunkManager, getResourceCallback, getChunkMimeType, storeServerParameters, retrieveRenderingInfo, allowUserProfileState, reportRuntimeSetup, reportSnapshot.Report.IntermediateFormatVersion); m_inPageSection = false; m_prefix = null; m_eventInfo = eventInfo; m_reportSnapshot = reportSnapshot; m_processedItems = null; m_cachedHiddenInfo = null; m_contextUri = contextUri; m_embeddedImages = embeddedImages; m_imageStreamNames = imageStreamNames; m_currentReportICatalogItemContext = m_commonInfo.TopLevelReportContext; m_jobContext = jobContext; m_dataProtection = dataProtection; }