Reporting services 2005 RSClientController

martedì 07 ottobre 2008 - 13.23

memmo77 Profilo | Expert

Ho un'applicazione asp net che esegue dei report su reporting services. A volte, non lo fa sempre, mi compare il seguente errore:


338x206 56Kb



470x225 66Kb



493x225 67Kb


Ho riportato solo le prime tre schermate e poi se lo mando in debug, mi porta sul seguente codice:

var ClientControllerrw_report = new RSClientController(ActionHandlerrw_report, "rw_report_ctl03", "ReportFramerw_report", "/globalrisk/Reserved.ReportViewerWebControl.axd?ReportSession=qgpuyv452chezzybn5gbgx45&ControlID=abbe3c2b57524cb38808968b20747b00&Culture=1040&UICulture=1040&ReportStack=1&OpType=DocMapArea&Controller=ClientControllerrw_report&RootLabel=AllPrint_V1&BackColor=%23ECE9D8&Border=1px+Black+Solid&Font=font-family%3aVerdana%3bfont-size%3a8pt%3b", "25%", true, "/globalrisk/Reserved.ReportViewerWebControl.axd?ReportSession=qgpuyv452chezzybn5gbgx45&ControlID=abbe3c2b57524cb38808968b20747b00&Culture=1040&UICulture=1040&ReportStack=1&OpType=ReportArea&Controller=ClientControllerrw_report", true, true, true, true, true, true, "Immettere un numero di pagina valido", "rw_report_ctl06", true, "_top");


Che cosa succede?
Grazie

freeteo Profilo | Guru

ciao,
quell'errore è un errore di qualche javascript, infatti ti viene mostrato come popup della pagina che contiene il reportViewer.

Il reportviewer, come tutti i componenti asp.net, rendirizzano sul browser HTML e Javascript, inquanto i browser interpretano solo quelli (o quasi), quindi il report vhe visualizzi viene renderizzato in html, dentro ad un contenitore (il viewer appunto) che è sempre html, e gli eventi che ti permettono di navigare etc. il report, sono gestiti tramite javascript.
Lo riesci a vedere esplorando il source della pagina, quando sei in esecuzione.

Il fatto è che tu usi un componente dalla toolbox, che ingloba tutto quello che serve oper farti vedere e utilizzare il report, quindi dentro a quella libreria, c'è anche del codice .net che renderizza le varie parti javascript.
Per generarle correttamente, si affida a delle chiamate a url ".axd" (nel tuo caso: ...Reserved.ReportViewerWebControl.axd), che il tuo browser fa, e che il runtime di asp.net non fa altro che redirigere all'assembly in memoria.
Perdona la contorsione della spiegazione, spero cmq di averti fatto capire il concetto.

Quindi, cosa succede?
allora innanzitutto, il fatto che te lo dia solo alcune volte, significa che l'installazione del runtime del report è corretta, infatti riesce a richaimare l'assembly che genera il codice html+js correttamente perchè altrimenti l'errore te lo darebbe sempre e non vedresti il report.

Mi fa pensare quindi, che possa essere un problema di autenticazione dato che la chiamata viene cmq fatta dal browser (interpretando l'html appunto), magari in un certo momento si perde l'autenticazione dell'utente che hai impostato in asp.net e quindi non renderizza il codice js completo.
Se la disibabiliti, o cmq lasci accesso anonimo a tutti nel web.config, ti capita ugualmente?

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5