Visualizza il feed RSS

sspintux

Brutta giornata oggi (...presumibilmente per colpa del ReportViewer di asp.net)

Valuta questo inserimento
di pubblicato il 14-10-2009 alle 16:07 (4093 Visite)
Brutta giornata oggi

mi sono imbattuto in quello che sembra un bug del reportviewver di asp.net
[VS2005 SE versione 8.0.50.727 (sp.050727-7600) FW 2.0.50727SP2]
usato in modalità locale e che si manifesta come segue:

ASP.NET session has expired

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: Microsoft.Reporting.WebForms.AspNetSessionExpiredE xception: ASP.NET session has expired

Source Error:


An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:

[AspNetSessionExpiredException: ASP.NET session has expired]
Microsoft.Reporting.WebForms.ReportDataOperation.. ctor() +683
Microsoft.Reporting.WebForms.HttpHandler.GetHandle r() +553
Microsoft.Reporting.WebForms.HttpHandler.ProcessRe quest(HttpContext context) +10
System.Web.CallHandlerExecutionStep.System.Web.Htt pApplication.IExecutionStep.Execute() +154
System.Web.HttpApplication.ExecuteStep(IExecutionS tep step, Boolean& completedSynchronously) +64

In pratica dopo un qualsiasi export di una qualsiasi stampa mi si azzeravano le variabili di sessione , in particolare quelle contenenti istanze di oggetti;

e, cercando in rete , non mi pare di essere il solo ad avere problemi;
ecco qualche link tra quelli trovati :
ReportViewer Cause error after deploying the webserver
ReportViewer Error Asp.net Session expired
Brian Hartman's Report Viewer Blog

Per ora ho risolto modificando il web.config così:
codice:
 <system.web>
     <sessionState cookieless="true" 
     etc... etc..
Con l'occasione ho comunque imparato ad apprezzare i metodi :
Page.ResolveUrl("~/Dir/Page.aspx")
Page.ResolveClientUrl("~/Dir/Page.aspx")


Per quanto riguarda problemi di sicurezza e limitazioni a proposito dell'impostazione cookieless="true/UseUri"
è opportune leggere Understand How the ASP.NET Cookieless Feature Works

In previsione di futuri problemi (ho a che fare con un window server 2003 ...e permettemi di fare i dovuti scongiuri )
ho trovato ma non sperimentato questo
codice:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"UrlSegmentMaxLength"=dword:00000200 (equivale a 512)
Maggiori info in proposito sono qui : Http.sys registry settings for IIS

Per quanto riguarda la sicurezza ci vuole il protocollo Https


Interessanti link su RV redist SP1 - che dovrebbe (?) risolvere molti problemi - e relative discussioni
FIX: The Report Viewer 2005 Service Pack 1 Redistributable Package is available
New Report Viewer Redistributable package with SP1?
Visual Studio 2005 SP1 is now available!

Beh!...credo proprio che fino a quando funziona con la soluzione coockiesless non tenterò altre strade
anche perchè sembra che si voglia passare alla versione successiva di VS

aggiornamento da 25-11-2009 a 01:31 di Master85 (Aggiunti link al Sp1 del RV redist package e relativi commenti)

Categorie
Programmazione , Microsoft , Altro

Commenti