Comments (6)
Thanks for reporting the problem. That sounds like the GZip encoding is going wrong somewhere. I'll have to look into it.
from cassette.
I think this is the same problem http://stackoverflow.com/questions/4313162/urlcompression-response-filter-conflict
The page HTML, which Cassette does some rewriting to, is getting compressed before the Cassette response filter runs. Options:
- Set
dynamicCompressionBeforeCache="false"
. Not ideal, since I assume you have good reason for using that :) - Cassette could detect pre-compressed page and not attempt to rewrite. You'd lose the ability of referencing asset modules in partial views which are actually rendered further up the page.
- Cassette could decompress the page HTML before rewriting. This may be tricky, given the response filter only gets chunks of output to process at a time. Research required...
from cassette.
Latest code in master should fix this. It performs response.Flush()
in PostRequestHandlerExecute
. This means the page rewriting filter is called before the page output is compressed for the output cache.
Can you please test and let me know if it's working for you now?
Thanks.
from cassette.
I had to remove the Flush call. It breaks too many other things in ASP.NET.
For now there are two options.
- Set
dynamicCompressionBeforeCache="false"
- In the Cassette configuration class, set
application.HtmlRewritingEnabled = false;
This means that assetReference
calls in a page must occur before the call toRender
. Only partial views that want to put references into the<head>
are affected by this, since they are executed after the head has been rendered.
from cassette.
Unfortunately, I had to leave off implementing Cassette for now (stability
of code base). I will be reattempting soon and then will be able to try and
help figure things out.
Thanks for the work,
Tom
On Tue, Sep 13, 2011 at 6:27 AM, Andrew Davey <
[email protected]>wrote:
I had to remove the Flush call. It breaks too many other things in ASP.NET
.For now there are two options.
- Set
dynamicCompressionBeforeCache="false"
- In the Cassette configuration class, set
application.HtmlRewritingEnabled = false;
This means that asset
Reference
calls in a page must occur before the call toRender
. Only
partial views that want to put references into the<head>
are affected by
this, since they are executed after the head has been rendered.Reply to this email directly or view it on GitHub:
#33 (comment)
from cassette.
Yes, the code has been pretty changeable while under development - the perils of release early, release often!
I'm hoping to get everything settled and ready for 1.0 soon. So please keep an eye on the project. When you do give it another go, give me a shout if you run into any issues.
from cassette.
Related Issues (20)
- Infinite loop between ExceptionCatchingBundleCollectionInitializer and BundleCollection.GetReadLock HOT 3
- Remove legacy classic pipeline web.config transforms HOT 1
- Strange behavior using Web Deploy HOT 1
- Azure + Release = 500 on cassette.axd HOT 10
- Change ID of html template
- cassette rebuild is slow HOT 1
- Sorting assets in HtmlTemplateBundles
- Cassette.RequireJS breaks with most recent version of AjaxMin
- 304 Not Modified HOT 1
- When minifing comma operator syntax, the behaviour of the minified code changes
- Cassette stripping timing units from 0 values making CSS properties invalid HOT 1
- Support "defer" and "async" on scripts
- Support ASP.NET core HOT 3
- Fonts and CSS Animations for Semantic UI not working once bundled HOT 1
- Cassette does not include files in /fonts and /images.
- Cached Manifest.xml being empty breaks website
- CSS minification breaking calc() HOT 1
- setTimeout with lambda causes incorrect minification
- Can Cassette be used in react-native?
- Could not load type 'Cassette.Trace' from assembly 'Cassette, Version=2.4.2.13844, Culture=neutral, PublicKeyToken=null'. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cassette.