Posted 8 April 2026, 5:52 am EST
Hi,
Migrate from 2010v1 to 2025v2 399 in ASP.NET WebForms NET Framework 4.8.1.
Using C1ReportViewer from C1.Web.Wijmo.Controls.48.dll
Changes C1WebReport to C1ReportViewer control.
I have C1ReportViewer control in my custom ASCX.
I use
private void ExportUsingHandler(C1ReportV48.C1Report report, int loggedUserId, string format)
{
string cacheKey = "REPORT_" + Guid.NewGuid().ToString("N");
// guardar en cache
HttpRuntime.Cache.Insert(
cacheKey,
report,
null,
DateTime.Now.AddMinutes(5),
System.Web.Caching.Cache.NoSlidingExpiration
);
// token firmado
var token = SecureTokenHelper.Generate(loggedUserId, cacheKey);
var encodedToken = HttpUtility.UrlEncode(token);
var normalizedFormat = NormalizeHandlerFormat(format);
var script = $@"window.open('/WebHandler/ReportDownload.ashx?token={encodedToken}&format={normalizedFormat}', '_blank');";
ScriptManager.RegisterStartupScript(Page, GetType(), "ExportReportHandler", script, true);
}
Custom ReportDownload.ashx use C1Report and RenderToStream method. All is OK.
But in output I get
Excepción producida: ‘System.Threading.ThreadAbortException’ en mscorlib.dll
Subproceso anulado.
The reason: reportservice.ashx
case "dialog":
context.Response.ContentType = "text/x-html";
context.Response.Write(GetDialogTemplateContent((string)args["name"]));
context.Response.End();
break;
Why command = dialog in reportservice.ashx is called ? In my handler ashx, not use ReporViewer control, only C1Report.
thanks


