Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

asp.net + Ajax axd page compression under IIS 6

Posted on 2014-09-25
5
Medium Priority
?
435 Views
Last Modified: 2014-10-02
I'm troubleshooting a few problems on our site and slow load time is one area I want to reduce.

Using Google's PageSpeed Insights, it reckons that some of the AJAX axd resource files associated with an autocomplete drop-down could be reduced by 933kb through compression.

Similarly, the .aspx page itself could be compressed for a further 85kb saving.

At first glance, IIS6 appears to be configured for compression (under the services tab for IIS > local computer > web sites > properties, "compress application files" and "compress static files" are ticked.

CSS and JS files weren't compressing until I used the info at   http://www.jasonlinham.co.uk/2009/06/turn-on-iis-6-compression-for-css-and.html  

What can I do to apply compression to my .aspx and .axd files?

The environment is dot net framework 4.0, IIS 6 on Windows server 2003, using Ajax Control Toolkit (specifically, just the Autocomplete Extender)
0
Comment
Question by:Beamson
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
5 Comments
 
LVL 12

Accepted Solution

by:
Ramkisan Jagtap earned 2000 total points
ID: 40345396
Hi,

You can use the NuGet CombineandMinify package for that. it works for JavaScript files, CSS files and or images (loaded from image tags or from CSS files). If your pages use ASP.NET AJAX toolkit controls, they will be loading .axd files as well.

Please check the link below:
http://www.codeproject.com/Articles/125159/Package-that-speeds-up-loading-of-JavaScript-CSS-a

Hope this will help you!
0
 
LVL 1

Author Comment

by:Beamson
ID: 40345600
Hi Ramkisan,

At face value, it looks like it answers a slightly different question to the one about (gzip-like) file compression.  However, its very closely related and may well solve another related performance issue.  I'll give it a try over the weekend.

Thanks.
0
 
LVL 1

Author Comment

by:Beamson
ID: 40346763
Hi Ramkisan,

I've had mixed results from this package.
On the plus side - it does appear to do some minification.
On the downside - it causes some of my sites pages to throw exceptions  (see below)

At first, I though this error was due to the fact that there was some code blocks in the head section of some pages on my site - used to set page titles, meta information and for setting redirect urls in client-side javascript.  However, it seems hit and miss - on some pages where I have all these things, the page renders fine, on others it generates an exception.  Having tried to temporarily remove the relevant code blocks to see if this fixe the problem, it does not.

Any ideas on what sort of thing is actually triggering these exceptions?



 Exception Details: System.Web.HttpException: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

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:

[HttpException (0x80004005): The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).]
   System.Web.UI.ControlCollection.RemoveAt(Int32 index) +2109299
   CombineAndMinify.HeadAdapter.ProcessAllImages(ControlCollection cc, UrlProcessor urlProcessor, Boolean removeWhitespace) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:145
   CombineAndMinify.HeadAdapter.ProcessAllImages(ControlCollection cc, UrlProcessor urlProcessor, Boolean removeWhitespace) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:168
   CombineAndMinify.HeadAdapter.ProcessAllImages(ControlCollection cc, UrlProcessor urlProcessor, Boolean removeWhitespace) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:168
   CombineAndMinify.HeadAdapter.ProcessAllImages(ControlCollection cc, UrlProcessor urlProcessor, Boolean removeWhitespace) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:168
   CombineAndMinify.HeadAdapter.ProcessAllImages(ControlCollection cc, UrlProcessor urlProcessor, Boolean removeWhitespace) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:168
   CombineAndMinify.HeadAdapter.Render(HtmlTextWriter writer) in D:\@Projects\CombineAndMinify\Code\CombineAndMinify\HeadAdapter.cs:92
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +8995547
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
0
 
LVL 1

Author Comment

by:Beamson
ID: 40346883
A further finding:
This exception only seems to occur when removeWhiteSpace is set to true.
Setting it to false prevents the exception but I'm still not sure what would be causing it.
0
 
LVL 58

Expert Comment

by:Gary
ID: 40347668
There's a script here you can run to add the file types to the metabase
http://lostechies.com/keithdahlby/2010/01/08/script-to-enable-http-compression-gzip-deflate-in-iis-6/
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

jQuery is a JavaScript library that greatly simplifies JavaScript programming. AJAX is an acronym formed from "Asynchronous JavaScript and XML."  AJAX refers to any communication between client and server, when the human client does not observe a…
A phishing scam that claims a recipient’s credit card details have been “suspended” is the latest trend in spoof emails.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Suggested Courses

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question