Replies
You mentioned the master page…
Are there Register Assembly directives at the top of the child page?
I am just another user, so my answer isn't authoritative
Three things I would check…
1) Check that you don't have the version 12.1 dll's in the bin folder
2) Check that you don't have references to both assembly versions in your web.config file
3) Check that you don't have a reference to the 12.1 assembly at the top of your page
lol, I had already upgraded… and then noticed the CDN in the documentation. I have renewed my subscription every year since 2003 (I think).. It has been worth every penny.
Hey Michael,
I am glad to report that I now have this working exactly the way I want.
I never wanted the HTML of the page cached… only the resources. I want dynamic HTML to remain dynamic (refreshing on every page load). And nocache is exactly the right setting. But I want all the scripts and images to come from the browser cache.
As far as the "noise", I have fully moved to the CDN, and it has worked wonders. There are fewer Infragistics scripts loaded by the page (due to script combining), and the ones that are required are being retrieved from the browser cache (because the CDN automatically sends the right cache headers). It has had a nice impact on page load times.
I am not sure what to suggest if upgrading to the CDN isn't an option… I can only say that it has worked very well for me.
Cheers,
-Rob
I can't reply as an Infragistics "guru" or even a prominent member of the community. Just another programmer working on a Saturday 🙂
You are right about this being a new feature. I think it came out around 9.3 or 10.1. However, if upgrading from 8.3 is not an option, all is not lost.
Here is a blog that Infragistics wrote about how to accomplish script combining in Infragistics 8.3 using the <asp:ScriptManager/>
and another (with more detail)
http://community.infragistics.com/aspnet/articles/understanding-script-combining.aspx
On the caching issue, I have a nagging feeling that I am doing it wrong, and I am hoping that somebody can chime in and help. Like you, I want the browser to not cache the HTML, but to cache ScriptResources, js files, and image files. I put the following line in the page's Page_Load event, hoping that the cache instructions would only apply to the actual HTML of the page.
Response.Cache.SetCacheability (HttpCacheability.NoCache)
However, that doesn't seem to be working as intended. Sure the HTML of the page is being requeried, but also Fiddler that shows images, etc, being reloaded on each refresh.
Probably I just have the wrong setting, and the answer to that could well be the answer to your question on caching ScriptResources.
First, double-check that your website is not in debug mode. If the <compilation debug="true"/> is set in the web.config, then the browser is instructed to requery the server for every resource on every refresh.
Also, you need to have a look at using the WebScriptManager instead of the asp:ScriptManager. This opens up use of the CDN and also allows you to use the EnableCombining property which allows the scripts to be combined.
Here is the magic link!
If you use the WebScriptManager, then you also have the option of setting the EnableCDN and EnableCombining properties for the entire website using an entry in the web.config.
Just one word of caution on the CDN… I have not been able to use it because I am using some of the legacy controls (the old UltraWebGrid and the old menu control), and some of the images are not on the https:// version of the CDN. But if you are not using legacy controls, then you should be good to go.