Exception:
Code: Select all
---> InnerException: System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
at System.Collections.Generic.Dictionary`2.FindValue(TKey key)
at Stimulsoft.Drawing.FontFamily.CreateSixFont(Single sizeInPoints, FontStyle style) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Drawing\Drawing\FontFamily.cs:line 148
at Stimulsoft.Drawing.Font..ctor(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Drawing\Drawing\Font.cs:line 408
at Stimulsoft.Report.StiReportObjectStringConverter.ConvertStringToFont(String str) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\StiReportObjectStringConverter.cs:line 537
at Stimulsoft.Report.StiReportObjectStringConverter.StringToObject2(String str, Type type) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\StiReportObjectStringConverter.cs:line 302
at Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject(Object obj, StiPropertyInfoCollection props) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Base\Serializing\StiSerializing.cs:line 1086
at Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject(Object obj, StiPropertyInfoCollection props) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Base\Serializing\StiSerializing.cs:line 1057
at Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject(Object obj, StiPropertyInfoCollection props) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Base\Serializing\StiSerializing.cs:line 1057
at Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject(Object obj, StiPropertyInfoCollection props) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Base\Serializing\StiSerializing.cs:line 1057
at Stimulsoft.Base.Serializing.StiSerializing.Deserialize(Object obj, Stream stream, String application) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Base\Serializing\StiSerializing.cs:line 1254
at Stimulsoft.Report.SaveLoad.StiXmlReportSLService.Load(StiReport report, Stream stream) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\SaveLoad\StiXmlReportSLService.cs:line 94
at Stimulsoft.Report.StiReport.Load(StiReportSLService service, Stream stream) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\StiReport.SaveLoad.cs:line 1625
at Stimulsoft.Report.StiReport.Load(Stream stream) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\StiReport.SaveLoad.cs:line 1492
at Stimulsoft.Report.StiReport.Load(Byte[] bytes) in D:\Stimulsoft\Stimulsoft.Reports\Stimulsoft.Report\StiReport.SaveLoad.cs:line 1519
Code: Select all
static void Main(string[] args)
{
var tasks = new List<Task>
{
Task.Factory.StartNew(CreateReport),
Task.Factory.StartNew(CreateReport),
Task.Factory.StartNew(CreateReport),
Task.Factory.StartNew(CreateReport),
Task.Factory.StartNew(CreateReport)
};
Task.WaitAll(tasks.ToArray());
Console.WriteLine("Done!");
}
private static Task CreateReport()
{
StiLicense.Key = _licenseKey;
StiOptions.Export.Pdf.CreatorString = "Stimulsoft";
var template = File.ReadAllBytes("Report.xml");
var report = new StiReport();
report.Load(template);
return Task.CompletedTask;
}