Hi,
I am using a number of gauges in a dashboard set up (asp.net 2.0, IGv8.1) and occasionally a gauge will not show up when the page loads. If I refresh the page the gauge then shows. My deployment scenario is as follows:
UltraGauge1.DeploymentScenario.ImageType = GaugeImageType.Png; UltraGauge1.DeploymentScenario.DeleteOldImages = true; UltraGauge1.DeploymentScenario.Mode = ImageDeploymentMode.FileSystem; UltraGauge1.DeploymentScenario.ImageURL = "~/images/SalesForce/Gauges/TargetKpi/Gauge_#CLIENT_#SESSION.#EXT"; UltraGauge1.DeploymentScenario.FilePath = "~/images/SalesForce/Gauges/TargetKpi";
The image url on the initial page load is:
http://localhost:4004/BlueCow/images/SalesForce/Gauges/TargetPax/Gauge_ctl00_cphMaster_tpgNational_UltraGauge1_nfctuj45qfghidy0xik0ds55.png?t=128709199775304415
And then when I refresh the page it is:
http://localhost:4004/BlueCow/images/SalesForce/Gauges/TargetPax/Gauge_ctl00_cphMaster_tpgNational_UltraGauge1_nfctuj45qfghidy0xik0ds55.png?t=128709201323972827
You can see how the timestamp (I'm guessing that's what "t" is) has changed slightly. This behaviour happens both locally, and when my site is deployed on a server. I'd say about 95% of the time the gauge image appears correctly, and the other 5% I need to refresh the page. I don't think an image has ever failed to load for me on refreshing.
Any help on this would be greatly appreciated.
Cheers,
James.
The timestamp is just to prevent the browser from using a cached version of the image file, so I don't think it's relevant to this issue.
Try testing this with the latest available hotfix from our website, as it's possible some related fixes were made since the initial release of 8.1. If that doesn't help, try checking if the image file exists on your server once the page loads with the missing image - that will at least hint at the nature of this problem, whether it's a timing issue or if the image simply isn't generated the first time.
David,
when the image is missing from the page, the image is not created on the server. Once I refresh the page the image file appears on the server (and the web page). I thought I mentioned this in my first post but I must have just thought it and not written it. :-)
I will try the latest hotfix and see how that goes.
James
I am having this problem also. I have NetAdvantage Vol.2 CLR 2.0
I have HotFix #2022 which I think is the latest Hotfix. Is this still a problem?
@jonnydock-
So far its been working great for us with the gauges session deployed. If possible, consider moving the guages out of the updatepanel. The CSOM refresh is really nice especially when responsetimes get slow. Whereas a guage in an update panel can cause the guage image to flicker, or in our case in testing on slow connections, disappear for over a second then update, the CSOM refresh updated without any flickering at all.
The charts do not have this feature yet, I created a feature request last week for charts to have a CSOM refresh method.
I changed our Gauges to use "DeploymentScenario Mode="Session"" and Charts to use "DeploymentScenario scenario="Session"". I also kept the Gauges and Charts in the Update Panel. So far, it seems to be working. I will let you know if we see the problem again.
After lots of testing and debugging, I realized that the machine that the problem was happening on the most was severly fragmented. That could explain why image file access would be failing more often than what was happening on my machine. Just a thought...
wchris said:Does the gauge's CSOM refesh do anything special to swap/update the image? If so is there any plans to do the same with the charts?
yes, that's just what it does. it does an asynchronous postback, raises the AsyncRefresh event on the server, sends a new image to the client, and updates the IMG element in javascript.
jonnydock-
Regarding the ImagePipe issue. When you switch over to using the imagePipe from FileSystem. The wizard will not find the default URL GaugeImage.aspx in the path where the Gauge Control's page is located. It will then create a GaugeImage.aspx for you. When I ran the app, the images did not show up nor was an error thrown. Since there was no "code behind" (GaugeImage.aspx.cs) I wanted to put a breakpoint to see what was going on so I just deleted the GaugeImage.aspx that the wizard created and created a web form (aspx with the code behind part) with the same name. When I ran to make sure there was no errors before I started adding code; the gauges showed up.
This page no longer has any update panels (Infragistics or Microsoft) but I do have AJAX calls via the asmx page and it seems to work for me.
Good luck.
Thanks for the info. I will try using ImagePipes on our Gauges and see if that helps us. How did you know how to manually create a GaugeImage.aspx?
We also are using EnableViewState=false, but we are using Microsoft's asp:UpdatePanel since we are using some Aikido controls. I had a feeling all along that the UpdatePanel might have something to do with it, but could never prove it. I have noted that calling the Gauge's CSOM refresh does not update the Gauge bacause the UpdatePanel acts like it does not detect the postback. Maybe I should also not have my Gauge's inside the UpdatePanel and instead just call the CSOM refresh?