Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > GZip output compression with AJAX

Reply
Thread Tools

GZip output compression with AJAX

 
 
Mike P2
Guest
Posts: n/a
 
      06-04-2007
Hi. To make page downloading quicker, I added GZipStream into the
Response filter. My (shortened VB) code snippet from Global.asax looks
like this:
............................................

Sub Application_BeginRequest(...)

If Request.RawUrl.Contains(".aspx") And _
Not Request.Headers("Accept-Encoding") Is Nothing Then

If Request.Headers("Accept-
encoding").ToLower().Contains("gzip") Then

Response.Filter = New GZipStream(Response.Filter,
CompressionMode.Compress, True)
Response.AppendHeader("Content-encoding", "gzip")

' Else...try deflate

End If

End If

End Sub
............................................

I added the check for .aspx in the request because it was messing up
images. Now that I'm using AJAX, it's giving me problems again. When
AJAX (I mean ASP's AJAX thing, but I'm not using Atlas) tries to
communicate with the server, it (JS) alert()s me that it could not
parse the server's response, and is probably because of a filter
(meaning this simple GZip stream).

How can I more efficiently check whether or not it is appropriate to
compress the output? And, by the way, is there a better way of
compressing output that won't mess up with images and could possibly
compress AJAX also?

-Mike PII

 
Reply With Quote
 
 
 
 
=?Utf-8?B?YmlrZW1pa2U=?=
Guest
Posts: n/a
 
      06-06-2007
Did you ever find a solution to this? I am having the same problem. If I
enable compression on our ISA server, it works fine. Just when using an
HTTPModule is when I have this problem. Very frustrating.

"Mike P2" wrote:

> Hi. To make page downloading quicker, I added GZipStream into the
> Response filter. My (shortened VB) code snippet from Global.asax looks
> like this:
> ............................................
>
> Sub Application_BeginRequest(...)
>
> If Request.RawUrl.Contains(".aspx") And _
> Not Request.Headers("Accept-Encoding") Is Nothing Then
>
> If Request.Headers("Accept-
> encoding").ToLower().Contains("gzip") Then
>
> Response.Filter = New GZipStream(Response.Filter,
> CompressionMode.Compress, True)
> Response.AppendHeader("Content-encoding", "gzip")
>
> ' Else...try deflate
>
> End If
>
> End If
>
> End Sub
> ............................................
>
> I added the check for .aspx in the request because it was messing up
> images. Now that I'm using AJAX, it's giving me problems again. When
> AJAX (I mean ASP's AJAX thing, but I'm not using Atlas) tries to
> communicate with the server, it (JS) alert()s me that it could not
> parse the server's response, and is probably because of a filter
> (meaning this simple GZip stream).
>
> How can I more efficiently check whether or not it is appropriate to
> compress the output? And, by the way, is there a better way of
> compressing output that won't mess up with images and could possibly
> compress AJAX also?
>
> -Mike PII
>
>

 
Reply With Quote
 
 
 
 
Mike P2
Guest
Posts: n/a
 
      06-06-2007
On Jun 6, 8:50 am, bikemike <(E-Mail Removed)>
wrote:
> Did you ever find a solution to this? I am having the same problem. If I
> enable compression on our ISA server, it works fine. Just when using an
> HTTPModule is when I have this problem. Very frustrating.


No, I haven't found a solution yet. This is frustrating me too. GZip
compression is a pretty common thing, I'm sure it's been done
successfully in ASP.net and there are people in this newsgroup who
have the solution.

-Mike PII

 
Reply With Quote
 
Mike P2
Guest
Posts: n/a
 
      06-11-2007
Ok, I tried using

If Request.Headers("Accept").Contains("html") Or
Request.Headers("Accept").Contains("xml")) Then

instead to decide whether or not to compress the output with GZ and my
other filter that takes out some whitespace, but that's not helping
either. I guess ASP.net AJAX is served by the same page it's on
instead of ScriptResource.axd or whatever. So what can I do?

-Mike PII

 
Reply With Quote
 
=?Utf-8?B?YmlrZW1pa2U=?=
Guest
Posts: n/a
 
      06-12-2007
I did find a solution to this problem that is not resolved with GZip in .NET,
but in IIS. Basically all I did was enable compression for only my virtual
directory in IIS. For whatever reason, the AJAX code does not have any
problems with this and it works great. I am getting nearly 90% compression
on my returned code now. After spending a day trying to make the .NET
solution work, I gave up and looked for alternative solutions. Fortunately,
the built-in IIS compression did the trick. If you need help on how to
enable it for just a single web or virtual, let me know.

"Mike P2" wrote:

> Ok, I tried using
>
> If Request.Headers("Accept").Contains("html") Or
> Request.Headers("Accept").Contains("xml")) Then
>
> instead to decide whether or not to compress the output with GZ and my
> other filter that takes out some whitespace, but that's not helping
> either. I guess ASP.net AJAX is served by the same page it's on
> instead of ScriptResource.axd or whatever. So what can I do?
>
> -Mike PII
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Gzip compression with SOAP Fernando Silva Ruby 0 12-29-2009 02:17 PM
Enabling GZip in MS Ajax Showjumper ASP .Net 3 09-04-2007 02:14 PM
Trouble with gzip output compression Szymon Rozga Ruby 1 05-26-2006 10:17 AM
Gzip compression and ASP.NET Anders K. Jacobsen [DK] ASP .Net 4 12-31-2004 10:17 AM
GZip Compression for IIS 5.0/ASP .NET Chad A. Beckner ASP .Net 1 07-23-2004 02:13 AM



Advertisments