ReportViewer e RSClientController in VS2008, ERRORE

mercoledì 06 maggio 2009 - 15.02

Hef89 Profilo | Newbie

ciao ragazzi, mi accade un fatto strano.

sto sviluppando un progetto in Visual Studio 2008 (su un pc con Vista, non so se può interessare) ed in una pagina dedicata alle statistiche ho inserito il controllo ReportViewer per visualizzare una stampa creata con Reporting Services 2005.

Senza apportare modifiche particolari (se non ovviamente il passaggio dei parametri da codice) e senza richiamare NESSUNA funzione inerente al ReportViewer nel processo di caricamento della pagina mi si apre una schermata in javascript e saltano fuori errori gioiosi e sereni in alert che mi dicono che "RSClientController non è definito".

Ci siamo messi d'impegno io e il mio capo per trovare una soluzione, abbiamo inserito nel Web.config il tag
<identity impersonate="true" />
prima del tag "authentication" come consigliato da qualche forum cercato alla cieca, ma non siamo riusciti a risolvere questo benedetto problema.

Potrei capire se mi desse degli errori nel momento in cui richiamo qualche funzione riguardante il Viewer, ma vedere gli alert all'apertura della pagina senza aver richiamato niente è deprimente!

che dite? c'è qualcosa che si può fare per risolvere a parte eliminare il ReportViewer e dire all'utenza di arrangiarsi? XD

grazie!

freeteo Profilo | Guru

Ciao,
il fatto di impostare l'identity per l'utente potrebbe essere un tentativo, anche se il viewer dovrebbe funzionare ugualmente dato che cmq gira in asp.net.
Ma quello che genera il reportviewer è un iframe, in modo da essere "indipendente" dalla pagina che lo contiene (oltre a poter fare il drill-down ed altre funzionalità...) dentro al quale per dare l'interattività utente, usa dei javascript creati a runtime richiamando le dll del runtime.
Lo puoi capire analizzando l'HTML della pagina risultante, sicuramente troverai una chiamata tipo "...Reserved.ReportViewerWebControl.axd?....Scripts.ReportViewer.js"

Quindi sembra quasi che per l'iframe non sia abilitato l'utilizzo dei vari javascript, e quidi quando il report lo richiede per il suo funzionamento ecco gli alert.
Verifica intanto se ti capita con tutti i browser (chrome, firefox, ie).
Dopodichè verifica chiamando direttamente l'url di quel "ReportViewer.js" dal browser, e vedi se ti chiede le credenziali.

Casomai puoi pensare di togliere l'autenticazione per quell'url nel web.config, tramite il tag "location" tipo:
<location path ="~/...il tuo path..Reserved.ReportViewerWebControl.axd"> <system.web> <authorization> <allow users ="*" /> </authorization> </system.web> </location>
o qualcosa di questo genere.

Al massimo prova a togliere l'autenticazione al sito e vedi se è un problema di questo, oppure di tutto il reportviewer che non è presente, perchè potrebbe essere che non è presente il runtime sulla macchina dove hai fatto il deploy, in quel caso scaricalo e installalo da qui:
http://www.microsoft.com/downloads/details.aspx?familyid=8a166cac-758d-45c8-b637-dd7726e61367&displaylang=en

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Hef89 Profilo | Newbie

ho provato a scaricare l'applicazione dal link che mi hai consigliato ma purtroppo non ha funzionato.. non c'è speranza di farlo funzionare in locale

in compenso, sembrerà una cavolata... ma pubblicando il programma su server ed aprendolo da lì va tutto alla perfezione!!!

grazie comunque dell'aiuto!

freeteo Profilo | Guru

>in compenso, sembrerà una cavolata... ma pubblicando il programma
>su server ed aprendolo da lì va tutto alla perfezione!!!
allora forse è un problema della protezione del browser che stai usando? Verifica con altri browser o abbassandola.
Cmq tieni presente che in locale ti funziona perchè magari sei dentro con l'utente amministratore che ha accesso a quell'url...infatti se fai la controprova che ti dicevo di scrivere l'url che contiene "....js" da quel server la dovresti trovare mentre dal tuo pc ti chiederà l'accesso.


>grazie comunque dell'aiuto!
di niente figurati

Ciao.

Matteo Raumer
[MVP Visual C#]
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5