Не удалось загрузить фреймворк Ajax со сжатием Gzip только в IE - PullRequest
0 голосов
/ 13 сентября 2010

Хорошо, у меня работает gzip, но есть проблемы с IE.(отлично работает с FF и Chrome) Сообщение: не удалось загрузить клиентскую среду ASP.NET Ajax.(и многие другие ошибки, связанные с js)

Как я могу предотвратить сжатие gzip в браузерах ??Другие люди, у которых были подобные проблемы, включили сжатие в IIS, и это, похоже, решило проблему, но я не могу сделать это на своем дисконтном компьютере ...

Вот что я использую:

        HttpApplication app = (HttpApplication)sender;

        string acceptEncoding = app.Request.Headers["Accept-Encoding"];
        Stream prevUncompressedStream = app.Response.Filter;
        if (acceptEncoding != null && acceptEncoding.Length != 0)
        {

            acceptEncoding = acceptEncoding.ToLower();
            if (acceptEncoding.Contains("gzip"))
            {

                app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);
                app.Response.AppendHeader("Content-Encoding", "gzip");
            }

            else if (acceptEncoding.Contains("deflate"))
            {
                // defalte

                app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress);
                app.Response.AppendHeader("Content-Encoding", "deflate");

            }
        }

1 Ответ

0 голосов
/ 13 сентября 2010

Попробуйте сжать GZip только те файлы, которые заканчиваются на aspx и покинули WebResource, содержащий Javascript, с которым у вас возникли проблемы, чтобы сжать его самостоятельно.

string cTheFile = HttpContext.Current.Request.Path;
string sExtentionOfThisFile = System.IO.Path.GetExtension(cTheFile);

if (sExtentionOfThisFile.Equals(".aspx", StringComparison.InvariantCultureIgnoreCase))
{
    // run your code for compression here
}

Это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...