public static SerializedReportDefinition GetSerializedReportDefinition(string fileName)
        {
            ValidateFileName(fileName);

            SerializedReportDefinition serializedReportDefinition;

            lock (cache)
            {
                if (cache.Keys.Contains(fileName))
                {
                    ReportDefinitionCache reportDefinition = cache[fileName];

                    serializedReportDefinition = reportDefinition as SerializedReportDefinition;

                    if (serializedReportDefinition == null)
                    {
                        serializedReportDefinition = new SerializedReportDefinition(reportDefinition);

                        cache.Remove(fileName);

                        cache.Add(fileName, serializedReportDefinition);
                    }
                }
                else
                {
                    serializedReportDefinition = new SerializedReportDefinition(fileName);

                    cache.Add(fileName, serializedReportDefinition);
                }
            }

            return(serializedReportDefinition);
        }
 public static Rdl LoadReport(string fileName)
 {
     return(SerializedReportDefinition.GetSerializedReportDefinition(fileName).GetReport());
 }