private DataSetPublishingResult GetCompiledDataSet(DataSetInfo dataSetInfo, ICatalogItemContext dataSetContext) { StoredDataSet storedDataSet = m_catalogTempDB.GetCompiledDataSet(dataSetInfo); if (storedDataSet != null && !storedDataSet.Definition.SequenceEqual(dataSetInfo.Definition)) { storedDataSet = null; } if (storedDataSet == null) { DataSetPublishingResult result; try { using (ControlSnapshot createChunkFactory = new ControlSnapshot()) { ReportProcessing reportProcessing = CreateAndConfigureReportProcessing(); PublishingContext sharedDataSetPublishingContext = new PublishingContext(dataSetContext, dataSetInfo.Definition, createChunkFactory, AppDomain.CurrentDomain, generateExpressionHostWithRefusedPermissions: true, GetDataSourceForSharedDataSetHandler, reportProcessing.Configuration); result = reportProcessing.CreateSharedDataSet(sharedDataSetPublishingContext); } } catch (Exception inner) { throw new DefinitionInvalidException(dataSetInfo.AbsolutePath, inner); } storedDataSet = new StoredDataSet(dataSetInfo.Definition, result); m_catalogTempDB.SetCompiledDataSet(dataSetInfo, storedDataSet); } return(storedDataSet.PublishingResult); }
public void SetCompiledDataSet(DataSetInfo dataSetInfo, StoredDataSet storedDataSet) { if (storedDataSet == null) { throw new ArgumentNullException("storedDataSet"); } m_compiledDataSets[dataSetInfo.AbsolutePath] = storedDataSet; }