Instantly make any ASP.NET website faster with almost no effort!
and see a 20% reduction in HTTP requests and 18% faster global page load times after deploying RequestReduce!
- Super Simple Auto Spriting, Minification and Bundling solution
- No need to tell RequestReduce where your resources are
- Your CSS and Javascript can be anywhere - even on an external host
- RequestReduce finds them at runtime automatically
Why settle for poor performance?
When now its so easy to make your website faster!
- Auto generates sprites from your background images
- Optimizes Sprite PNG format and compression
- Optimizes caching headers and ETags
- Can sync content accross multiple web servers
- Works well with CDNs
- Compiles Less, Sass and Coffee script
Getting Started
- If you have , simply enter this command in the Package Manager Console and skip steps two and three:
Basic RequestReduce Features:
PM> Install-Package RequestReduce
RequestReduce Features with Sql Server Web Farm Syncing:
PM> Install-Package RequestReduce.SqlServer
RequestReduce with Less, SASS and Coffee Script compiling:
PM> Install-Package RequestReduce.SassLessCoffee
Or to download everything in one zip, get the latest version here.
- Extract the downloaded ZIP and copy RequestReduce.dll and optipng.exe to your website's bin directory.
- If optipng.exe cannot be added, RequestReduce will still work but will skip lossless sprite image compression. For workday classes functionality, copy the contents of the Workday classes directory to the bin directory and apply any required configuration settings as specified in the documentation.
- Add the RequestReduceModule to your web.config or using the IIS GUI
Assuming you are using IIS 7, you would add it by ensuring that your web.config's system.webServer/modules element contains an add element as follows:
<system.web>
<httpModules>
<add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce" />
</modules>
</system.webServer>
- to help RequestReduce better locate your background images. If you find that images are being distorted, see .
- Optional: . You can control where generated css and sprites are stored, there size thresholds and specify a CDN host name to reference
All background images you want to sprite must have an explicit width in their css class. Otherwise RequestReduce cannot guarantee that the background positions it injects will not cause adjacent sprites to bleed into a background image's view port. Also, RequestReduce will ignore repeating images so make sure to mark the image no-repeat if it is not a repeating image.
Dependencies
- RequestReduce core features are compatible with .net Framework versions 3.5 and 4.0
- RequestReduce.SqlServer and RequestReduce SassLessCoffee require .net Framework versions 4.0
- Standard Features are Medium Trust compliant
- The identity that your asp.net worker process runs under must have write access to your web root directory for creating sprite and css files
Troubleshooting
If RequestReduce does not appear to be doing anything, check out this which provides several scenarios, options and debugging tips for figuring out why your content may not be being reduced. Also check the which provides documentation addressing several topics to help you optimize RequestReduce and explain how RequestReduce works.
What's Next?
There are a ton of features I intend to add in order to make web performance optimizations just happen as part of installing Request Reduce. Here is what's at the top of the backlog:
- Support defered javascript loading
- Leverege CSS 3 to allow RequestReduce to sprite more images without any need for css modifications for supporting browsers
- Options to sprite foreground images
- Provide a command line utility for incorporating RequestReduce optimizations into a build task