In ASP.NET Core 3.0 applications the PictureBox and CheckBox images are not displayed
Environment
Product | Progress® Telerik® Reporting |
Visual Studio version | Visual Studio 2019 |
Description
PictureBox images and CheckBox marks are not displayed by the Html5 Report Viewer in .NET Core 3 application.
Error Message
"Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead."
Cause\Possible Cause(s)
In .NET Core 3 by default Synchronous operations are disallowed. Synchronous operations are necessary to download resources such as images used in the reports.
Solution
The Synchronous operations need to be manually allowed, for example by setting the AllowSynchronousIO to True in the container services. This can be done by adding the following code in the ConfigureServices method of the Startup.cs file for IIS.
this.services.Configure<IISServerOptions>(options =>
{
options.AllowSynchronousIO = true;
});
For Kestrel you may use code like the following in the Program.cs file:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureKestrel((context, options) =>
{
options.AllowSynchronousIO = true;
})
See Also
Manual Setup of HTML5 Report Viewer in an ASP.NET Core 3+ application