Esempio n. 1
0
 protected override void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
 {
     if (!IsRenderStream)
     {
         errorContext.Combine(m_reportSnapshot.Warnings);
     }
 }
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object           = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);
            Hashtable           instanceObjects   = default(Hashtable);
            Hashtable           definitionObjects = default(Hashtable);

            IntermediateFormatReader.State declarationsRead = default(IntermediateFormatReader.State);
            bool flag = default(bool);

            base.m_reportSnapshot = ReportProcessing.DeserializeReportSnapshot((ReportProcessing.GetReportChunk)@object.GetReportChunk, (ReportProcessing.CreateReportChunk)@object.CreateReportChunk, base.PublicProcessingContext.GetResourceCallback, base.PublicRenderingContext, base.PublicProcessingContext.DataProtection, out instanceObjects, out definitionObjects, out declarationsRead, out flag);
            Global.Tracer.Assert(null != base.m_reportSnapshot, "(null != reportSnapshot)");
            Global.Tracer.Assert(null != base.m_reportSnapshot.Report, "(null != reportSnapshot.Report)");
            Global.Tracer.Assert(null != base.m_reportSnapshot.ReportInstance, "(null != reportSnapshot.ReportInstance)");
            base.m_chunkManager = new ChunkManager.RenderingChunkManager(@object.GetReportChunk, instanceObjects, definitionObjects, declarationsRead, base.m_reportSnapshot.Report.IntermediateFormatVersion);
            bool             flag2     = default(bool);
            EventInformation eventInfo = default(EventInformation);

            base.Processing.ProcessShowHideToggle(base.PublicRenderingContext.ShowHideToggle, base.m_reportSnapshot, base.PublicRenderingContext.EventInfo, base.m_chunkManager, out flag2, out eventInfo);
            if (flag2)
            {
                base.PublicRenderingContext.EventInfo = eventInfo;
            }
            bool retrieveRenderingInfo = this.IsRenderStream || !flag;

            base.m_renderingContext = new AspNetCore.ReportingServices.ReportRendering.RenderingContext(base.m_reportSnapshot, base.PublicRenderingContext.Format, base.m_reportSnapshot.ExecutionTime, base.m_reportSnapshot.Report.EmbeddedImages, base.m_reportSnapshot.Report.ImageStreamNames, base.PublicRenderingContext.EventInfo, base.PublicRenderingContext.ReportContext, base.PublicRenderingContext.ReportUri, base.RenderingParameters, @object.GetReportChunk, base.m_chunkManager, base.PublicProcessingContext.GetResourceCallback, @object.GetChunkMimeType, base.PublicRenderingContext.StoreServerParametersCallback, retrieveRenderingInfo, base.PublicRenderingContext.AllowUserProfileState, base.PublicRenderingContext.ReportRuntimeSetup, base.PublicProcessingContext.JobContext, base.PublicProcessingContext.DataProtection);
        }
Esempio n. 3
0
		protected override void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
		{
			if (!this.IsRenderStream)
			{
				errorContext.Combine(base.m_odpReportSnapshot.Warnings);
			}
			base.CleanupSuccessfulProcessing(errorContext);
		}
Esempio n. 4
0
		protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
		{
			OnDemandMetadata onDemandMetadata = null;
			AspNetCore.ReportingServices.ReportIntermediateFormat.Report report = default(AspNetCore.ReportingServices.ReportIntermediateFormat.Report);
			GlobalIDOwnerCollection globalIDOwnerCollection = AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.OnDemandProcessingManager.DeserializeOdpReportSnapshot(base.PublicProcessingContext, (IChunkFactory)null, errorContext, true, true, base.Configuration, ref onDemandMetadata, out report);
			base.m_odpReportSnapshot = onDemandMetadata.ReportSnapshot;
			ProcessReportOdpSnapshot processReportOdpSnapshot = new ProcessReportOdpSnapshot(base.Configuration, base.PublicProcessingContext, report, errorContext, base.PublicRenderingContext.StoreServerParametersCallback, globalIDOwnerCollection, executionLogContext, onDemandMetadata);
			((ProcessReportOdp)processReportOdpSnapshot).Execute(out base.m_odpContext);
		}
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            GlobalIDOwnerCollection globalIDOwnerCollection;

            Microsoft.ReportingServices.ReportIntermediateFormat.Report reportDefinition = GetReportDefinition(out globalIDOwnerCollection);
            ProcessReportOdpInitial processReportOdpInitial = new ProcessReportOdpInitial(base.Configuration, base.PublicProcessingContext, reportDefinition, errorContext, base.PublicRenderingContext.StoreServerParametersCallback, globalIDOwnerCollection, executionLogContext, m_executionTimeStamp);

            m_odpReportSnapshot = processReportOdpInitial.Execute(out m_odpContext);
        }
Esempio n. 6
0
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            GlobalIDOwnerCollection globalIDOwnerCollection = default(GlobalIDOwnerCollection);

            AspNetCore.ReportingServices.ReportIntermediateFormat.Report reportDefinition = base.GetReportDefinition(out globalIDOwnerCollection);
            ProcessReportDefinitionOnly processReportDefinitionOnly = new ProcessReportDefinitionOnly(base.Configuration, base.PublicProcessingContext, reportDefinition, errorContext, base.PublicRenderingContext.StoreServerParametersCallback, globalIDOwnerCollection, executionLogContext, base.ExecutionTimeStamp);

            base.m_odpReportSnapshot = ((ProcessReportOdp)processReportDefinitionOnly).Execute(out base.m_odpContext);
        }
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            OnDemandMetadata odpMetadata = null;

            Microsoft.ReportingServices.ReportIntermediateFormat.Report report;
            GlobalIDOwnerCollection globalIDOwnerCollection = Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.OnDemandProcessingManager.DeserializeOdpReportSnapshot(base.PublicProcessingContext, null, errorContext, fetchSubreports: true, deserializeGroupTree: true, base.Configuration, ref odpMetadata, out report);

            m_odpReportSnapshot = odpMetadata.ReportSnapshot;
            new ProcessReportOdpSnapshot(base.Configuration, base.PublicProcessingContext, report, errorContext, base.PublicRenderingContext.StoreServerParametersCallback, globalIDOwnerCollection, executionLogContext, odpMetadata).Execute(out m_odpContext);
        }
Esempio n. 8
0
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            OnDemandMetadata        onDemandMetadata        = null;
            GlobalIDOwnerCollection globalIDOwnerCollection = new GlobalIDOwnerCollection();

            onDemandMetadata        = Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.OnDemandProcessingManager.DeserializeOnDemandMetadata(m_dataCacheChunks, globalIDOwnerCollection);
            globalIDOwnerCollection = new GlobalIDOwnerCollection();
            Microsoft.ReportingServices.ReportIntermediateFormat.Report report = ReportProcessing.DeserializeKatmaiReport(base.PublicProcessingContext.ChunkFactory, keepReferences: false, globalIDOwnerCollection);
            ProcessReportOdpWithCachedData processReportOdpWithCachedData      = new ProcessReportOdpWithCachedData(base.Configuration, base.PublicProcessingContext, report, errorContext, base.PublicRenderingContext.StoreServerParametersCallback, globalIDOwnerCollection, executionLogContext, m_executionTimeStamp, onDemandMetadata);

            m_odpReportSnapshot = processReportOdpWithCachedData.Execute(out m_odpContext);
        }
Esempio n. 9
0
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object           = new ChunkFactoryAdapter(this.m_yukonCompiledDefinition);
            ChunkFactoryAdapter object2           = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);
            Hashtable           definitionObjects = null;
            Report report = ReportProcessing.DeserializeReport((ReportProcessing.GetReportChunk)@object.GetReportChunk, out definitionObjects);

            base.m_reportSnapshot = base.Processing.ProcessReport(report, base.PublicProcessingContext, false, false, (ReportProcessing.GetReportChunk)object2.GetReportChunk, (ErrorContext)errorContext, this.m_executionTimeStamp, (ReportProcessing.CreateReportChunk)null, out base.m_context, out userProfileState);
            Global.Tracer.Assert(null != base.m_context, "(null != m_context)");
            executionLogContext.AddLegacyDataProcessingTime(base.m_context.DataProcessingDurationMs);
            base.m_chunkManager     = new ChunkManager.RenderingChunkManager(object2.GetReportChunk, null, definitionObjects, null, report.IntermediateFormatVersion);
            base.m_renderingContext = new AspNetCore.ReportingServices.ReportRendering.RenderingContext(base.m_reportSnapshot, base.PublicRenderingContext.Format, this.m_executionTimeStamp, report.EmbeddedImages, report.ImageStreamNames, base.PublicRenderingContext.EventInfo, base.PublicProcessingContext.ReportContext, base.ReportUri, base.RenderingParameters, object2.GetReportChunk, base.m_chunkManager, base.PublicProcessingContext.GetResourceCallback, object2.GetChunkMimeType, base.PublicRenderingContext.StoreServerParametersCallback, false, base.PublicProcessingContext.AllowUserProfileState, base.PublicRenderingContext.ReportRuntimeSetup, base.PublicProcessingContext.JobContext, base.PublicProcessingContext.DataProtection);
        }
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object           = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);
            ChunkFactoryAdapter object2           = new ChunkFactoryAdapter(m_originalSnapshotChunks);
            Hashtable           definitionObjects = null;
            DateTime            executionTime;
            Report report = ReportProcessing.DeserializeReportFromSnapshot(object2.GetReportChunk, out executionTime, out definitionObjects);

            m_reportSnapshot = base.Processing.ProcessReport(report, base.PublicProcessingContext, snapshotProcessing: true, processWithCachedData: false, object2.GetReportChunk, errorContext, executionTime, null, out m_context, out userProfileState);
            Global.Tracer.Assert(m_context != null, "(null != context)");
            m_chunkManager     = new ChunkManager.RenderingChunkManager(@object.GetReportChunk, null, definitionObjects, null, report.IntermediateFormatVersion);
            m_renderingContext = new Microsoft.ReportingServices.ReportRendering.RenderingContext(m_reportSnapshot, base.PublicRenderingContext.Format, executionTime, report.EmbeddedImages, report.ImageStreamNames, base.PublicRenderingContext.EventInfo, base.PublicProcessingContext.ReportContext, base.ReportUri, null, @object.GetReportChunk, m_chunkManager, base.PublicProcessingContext.GetResourceCallback, @object.GetChunkMimeType, base.PublicRenderingContext.StoreServerParametersCallback, retrieveRenderingInfo: false, base.PublicProcessingContext.AllowUserProfileState, base.PublicRenderingContext.ReportRuntimeSetup, base.PublicProcessingContext.JobContext, base.PublicProcessingContext.DataProtection);
        }
Esempio n. 11
0
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);

            m_reportSnapshot = ReportProcessing.DeserializeReportSnapshot(@object.GetReportChunk, @object.CreateReportChunk, base.PublicProcessingContext.GetResourceCallback, base.PublicRenderingContext, base.PublicProcessingContext.DataProtection, out Hashtable instanceObjects, out Hashtable definitionObjects, out IntermediateFormatReader.State declarationsRead, out bool isOldSnapshot);
            Global.Tracer.Assert(m_reportSnapshot != null, "(null != reportSnapshot)");
            Global.Tracer.Assert(m_reportSnapshot.Report != null, "(null != reportSnapshot.Report)");
            Global.Tracer.Assert(m_reportSnapshot.ReportInstance != null, "(null != reportSnapshot.ReportInstance)");
            m_chunkManager = new ChunkManager.RenderingChunkManager(@object.GetReportChunk, instanceObjects, definitionObjects, declarationsRead, m_reportSnapshot.Report.IntermediateFormatVersion);
            base.Processing.ProcessShowHideToggle(base.PublicRenderingContext.ShowHideToggle, m_reportSnapshot, base.PublicRenderingContext.EventInfo, m_chunkManager, out bool showHideInformationChanged, out EventInformation newOverrideInformation);
            if (showHideInformationChanged)
            {
                base.PublicRenderingContext.EventInfo = newOverrideInformation;
            }
            m_renderingContext = new Microsoft.ReportingServices.ReportRendering.RenderingContext(retrieveRenderingInfo: IsRenderStream || !isOldSnapshot, reportSnapshot: m_reportSnapshot, rendererID: base.PublicRenderingContext.Format, executionTime: m_reportSnapshot.ExecutionTime, embeddedImages: m_reportSnapshot.Report.EmbeddedImages, imageStreamNames: m_reportSnapshot.Report.ImageStreamNames, eventInfo: base.PublicRenderingContext.EventInfo, reportContext: base.PublicRenderingContext.ReportContext, contextUri: base.PublicRenderingContext.ReportUri, reportParameters: base.RenderingParameters, getChunkCallback: @object.GetReportChunk, chunkManager: m_chunkManager, getResourceCallback: base.PublicProcessingContext.GetResourceCallback, getChunkMimeType: @object.GetChunkMimeType, storeServerParameters: base.PublicRenderingContext.StoreServerParametersCallback, allowUserProfileState: base.PublicRenderingContext.AllowUserProfileState, reportRuntimeSetup: base.PublicRenderingContext.ReportRuntimeSetup, jobContext: base.PublicProcessingContext.JobContext, dataProtection: base.PublicProcessingContext.DataProtection);
        }
Esempio n. 12
0
 protected override OnDemandProcessingResult ConstructProcessingResult(bool eventInfoChanged, Hashtable renderProperties, ProcessingErrorContext errorContext, UserProfileState userProfileState, bool renderingInfoChanged, ExecutionLogContext executionLogContext)
 {
     return(new YukonProcessingResult(m_reportSnapshot, m_context.ChunkManager, base.PublicProcessingContext.ChunkFactory, base.PublicProcessingContext.Parameters, m_reportSnapshot.Report.AutoRefresh, GetNumberOfPages(renderProperties), errorContext.Messages, renderingInfoChanged: true, m_renderingContext.RenderingInfoManager, eventInfoChanged, base.PublicRenderingContext.EventInfo, GetUpdatedPaginationMode(renderProperties, base.PublicRenderingContext.ClientPaginationMode), base.PublicProcessingContext.ChunkFactory.ReportProcessingFlags, userProfileState | m_renderingContext.UsedUserProfileState, executionLogContext));
 }
 protected override OnDemandProcessingResult ConstructProcessingResult(bool eventInfoChanged, Hashtable renderProperties, ProcessingErrorContext errorContext, UserProfileState userProfileState, bool renderingInfoChanged, ExecutionLogContext executionLogContext)
 {
     return(new FullOnDemandProcessingResult(this.m_odpReportSnapshot, this.m_odpContext.OdpMetadata.OdpChunkManager, this.m_odpContext.OdpMetadata.SnapshotHasChanged, base.PublicProcessingContext.ChunkFactory, base.PublicProcessingContext.Parameters, this.m_odpReportSnapshot.Report.EvaluateAutoRefresh(null, this.m_odpContext), base.GetNumberOfPages(renderProperties), errorContext.Messages, eventInfoChanged, base.PublicRenderingContext.EventInfo, base.GetUpdatedPaginationMode(renderProperties, base.PublicRenderingContext.ClientPaginationMode), base.PublicProcessingContext.ChunkFactory.ReportProcessingFlags, this.m_odpContext.HasUserProfileState, executionLogContext));
 }
 protected override void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
 {
     ReportProcessing.CleanupOnDemandProcessing(this.m_odpContext, true);
 }
 protected override void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
 {
     AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.OnDemandProcessingManager.SerializeMetadata(this.m_metaDataChunkFactory, base.OdpContext.OdpMetadata, base.OdpContext.GetActiveCompatibilityVersion(), base.OdpContext.ProhibitSerializableValues);
     base.CleanupSuccessfulProcessing(errorContext);
 }
Esempio n. 16
0
            public static GlobalIDOwnerCollection DeserializeOdpReportSnapshot(ProcessingContext pc, IChunkFactory originalSnapshotChunks, ProcessingErrorContext errorContext, bool fetchSubreports, bool deserializeGroupTree, IConfiguration configuration, ref OnDemandMetadata odpMetadata, out Report report)
            {
                GlobalIDOwnerCollection globalIDOwnerCollection = new GlobalIDOwnerCollection();

                report = AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.DeserializeKatmaiReport(pc.ChunkFactory, true, globalIDOwnerCollection);
                IChunkFactory chunkFactory = originalSnapshotChunks ?? pc.ChunkFactory;

                if (odpMetadata == null)
                {
                    odpMetadata = OnDemandProcessingManager.DeserializeOnDemandMetadata(chunkFactory, globalIDOwnerCollection);
                }
                if (pc.Parameters != null)
                {
                    pc.Parameters.StoreLabels();
                }
                if (fetchSubreports)
                {
                    AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.FetchSubReports(report, pc.ChunkFactory, errorContext, odpMetadata, pc.ReportContext, pc.OnDemandSubReportCallback, 0, true, false, globalIDOwnerCollection, pc.QueryParameters);
                    if (deserializeGroupTree)
                    {
                        OnDemandProcessingManager.DeserializeGroupTree(report, chunkFactory, globalIDOwnerCollection, configuration, ref odpMetadata);
                    }
                }
                odpMetadata.GlobalIDOwnerCollection = globalIDOwnerCollection;
                return(globalIDOwnerCollection);
            }
Esempio n. 17
0
 protected override void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
 {
     ReportProcessing.CleanupOnDemandProcessing(m_odpContext, resetGroupTreeStorage: true);
 }
Esempio n. 18
0
 protected virtual void CleanupSuccessfulProcessing(ProcessingErrorContext errorContext)
 {
 }
Esempio n. 19
0
 protected abstract void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState);
Esempio n. 20
0
 protected abstract OnDemandProcessingResult ConstructProcessingResult(bool eventInfoChanged, Hashtable renderProperties, ProcessingErrorContext errorContext, UserProfileState userProfileState, bool renderingInfoChanged, ExecutionLogContext executionLogContext);
Esempio n. 21
0
        public OnDemandProcessingResult Execute(IRenderingExtension newRenderer)
        {
            ExecutionLogContext executionLogContext = new ExecutionLogContext(m_publicProcessingContext.JobContext);

            executionLogContext.StartProcessingTimer();
            ProcessingErrorContext processingErrorContext = new ProcessingErrorContext();
            CultureInfo            currentCulture         = Thread.CurrentThread.CurrentCulture;

            try
            {
                bool                eventInfoChanged       = false;
                bool                renderingInfoChanged   = false;
                UserProfileState    userProfileState       = UserProfileState.None;
                Hashtable           renderProperties       = PublicRenderingContext.GetRenderProperties(IsSnapshotReprocessing);
                NameValueCollection reportServerParameters = FormServerParameterCollection(PublicRenderingContext.ReportContext.RSRequestParameters.CatalogParameters);
                PrepareForExecution();
                ProcessReport(processingErrorContext, executionLogContext, ref userProfileState);
                Microsoft.ReportingServices.OnDemandReportRendering.RenderingContext odpRenderingContext = null;
                try
                {
                    Microsoft.ReportingServices.OnDemandReportRendering.Report report = PrepareROM(out odpRenderingContext);
                    executionLogContext.StartRenderingTimer();
                    renderingInfoChanged = InvokeRenderer(newRenderer, report, reportServerParameters, RenderingParameters, PublicRenderingContext.ReportContext.RSRequestParameters.BrowserCapabilities, ref renderProperties, PublicProcessingContext.CreateStreamCallback);
                    UpdateServerTotalPages(newRenderer, ref renderProperties);
                    UpdateEventInfo(odpRenderingContext, PublicRenderingContext, ref eventInfoChanged);
                }
                catch (ReportProcessing.DataCacheUnavailableException)
                {
                    throw;
                }
                catch (ReportRenderingException rex)
                {
                    ReportProcessing.HandleRenderingException(rex);
                }
                catch (RSException)
                {
                    throw;
                }
                catch (Exception ex3)
                {
                    if (AsynchronousExceptionDetection.IsStoppingException(ex3))
                    {
                        throw;
                    }
                    throw new UnhandledReportRenderingException(ex3);
                }
                finally
                {
                    FinallyBlockForProcessingAndRendering(odpRenderingContext, executionLogContext);
                }
                CleanupSuccessfulProcessing(processingErrorContext);
                return(ConstructProcessingResult(eventInfoChanged, renderProperties, processingErrorContext, userProfileState, renderingInfoChanged, executionLogContext));
            }
            catch (ReportProcessing.DataCacheUnavailableException)
            {
                throw;
            }
            catch (RSException)
            {
                CleanupForException();
                throw;
            }
            catch (Exception innerException)
            {
                CleanupForException();
                throw new ReportProcessingException(innerException, processingErrorContext.Messages);
            }
            finally
            {
                FinalCleanup();
                ReportProcessing.UpdateHostingEnvironment(processingErrorContext, PublicProcessingContext.ReportContext, executionLogContext, RunningProcessingEngine, PublicProcessingContext.JobContext);
                if (currentCulture != null)
                {
                    Thread.CurrentThread.CurrentCulture = currentCulture;
                }
            }
        }