Hi all, i'm using infragistics ver 6.3 to generate webcharts(Infragistics2.WebUI.UltraWebChart.v6.3,
Version=6.3.20063.53 and UltraChart.DeploymentScenario.Scenario="Session"), and sometimes(extremely random), i get
the infamous "access denied" error image.
Then after a search, I read this kb:http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.aspx?ArticleID=2041
I've a mixed scenario with a pure asp page with four charts(generate them by calling aspx pages obiouvsly).Then I try to turn every caching stuff off.
On pure asp page:response.expires = -1500 response.AddHeader "PRAGMA", "NO-CACHE" response.CacheControl = "PRIVATE"response.Buffer=False
On asp.net pages(chart generating pages):protected void Page_Load(object sender, System.EventArgs e) { Response.Expires = 0; Response.Cache.SetNoStore(); Response.AppendHeader("Pragma", "no-cache"); Response.Cache.SetCacheability(HttpCacheability.NoCache);
But still no luck...
Any suggestion?
Here are some addictional question:
1)There is a way to inercept the "access denied image" via javascript before diplaying it?I've seen that the output of a "good generated chart" is nearly the same of a "bad generated chart"i.e.<img style=''src='ImagePipe.aspx?ChartID=mychart_Base&KxRx=0x04813>
2)There is a way to change the "acess denied" image with some sort of custom image/custom text?
3)The last version of UltraWebChart(8.1.20081.1000) may solve the problem?
Thanks in advance
Thanks tolchinj, but my charts have differents IDs. I noticed that if you call each single chart directly, using the chart url from the browser's address bar, the problem won't not show up(I try to reload the page again and again). But if you load more than one chart simultaneously, I encounter the "access denied message" sometimes. In my opinion I don't think it's a "session state" related issue, but I will try to make some test..
I was having a similar problem here when I would dynamically load two instances of a web control containing an UltraChart (called "LineChart1") and tried to use them to render two different line charts via the "RenderControl" method. The second chart would show up fine but the first one would always show "access denied". I tried using the session state service and a few other things but nothing helped.
I noticed that the URL for the chart image pipe had the same "base" name for both images. For example, the first chart would be:
http://localhost:1865/Website/ImagePipe.aspx?ChartID=LineChart1_Base&KxRx=0x06428
and the second chart would be:
http://localhost:1865/Website/ImagePipe.aspx?ChartID=LineChart1_Base&KxRx=0x08767
Note that the "ChartID" is the same in both cases. I had a theory that maybe the system wouldn't keep the first image in session once the second one was rendered if the base name was the same, so I created a property in our custom control that allowed me to set the "ID" field on the UltraChart to "LineChart2" for the second chart. That changed the second URL's ChartID to "LineChart2_Base" and then both images showed up fine. Just thought this might help someone else in a similar situation.
Thank you for your instructions how to solve my problem. I changed the session <sessionState mode="InProc"> web.config to <sessionState mode="SQLServer" ......> and made propriete settings on SQL Server where we store our data and everything works just perfectly .
you need to use a session state option other than "InProc" (this is the default option). check your web.config for something like:
<sessionState mode="InProc">
other options include StateServer and SQLServer. these require some additional configuration steps, but will allow your web application to use the session state between requests on multiple servers / processes.
Hello, thanks for the useful advice. I might will use it as a temporary solution. Nevertheless, I have figured out the reason of the occasional error fault – it is the setting of Webgarden (with 2 processes) in ISS on Windows 2003. This setting does not run with Infragistics – Ultrachart and time to time it shows the "Access denied". If I cancel it, everything runs well. But on the other hand the Webgarden increases efficiency and reliability of the web application so I will have to find some other solution.