我正在尝试调试我从以前的开发人员继承的MVC2解决方案中遇到的一个奇怪的问题。
问题是,例如,如果我从Site.Master中删除了必要的分号,当我尝试运行该站点时,我看不到相应的“服务器错误”页面。相反,我看到一个完整的垃圾字符屏幕。 IE默认提示打开/保存文件而不是渲染垃圾文本 - 但如果打开,则会看到相同的垃圾。
我使用Firebug进行了一些调整,但我没有看到任何超级有用的东西。我只能假设一段代码期望有效标记,接收无效标记,并发出由于此无效标记而编码不同的响应。
但是,这不会发生在示例项目上,仅适用于此开发应用。我不知道运行无效标记时发生了什么。关于如何进一步追踪这个问题的任何建议?
编辑:
EDIT2:这是造成问题的代码。我不知道为什么,但我想我会把它发布给科学。
public class CompressionFilterAttribute : ActionFilterAttribute
{
//public override void OnActionExecuting(ActionExecutingContext context)
//{
// HttpRequestBase request = context.HttpContext.Request;
// string acceptEncoding = request.Headers["Accept-Encoding"];
// if (string.IsNullOrEmpty(acceptEncoding))
// return;
// acceptEncoding = acceptEncoding.ToUpperInvariant();
// HttpResponseBase response = context.HttpContext.Response;
// if (acceptEncoding.Contains("GZIP"))
// {
// response.AppendHeader("Content-encoding", "gzip");
// response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
// }
// else if (acceptEncoding.Contains("DEFLATE"))
// {
// response.AppendHeader("Content-encoding", "deflate");
// response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
// }
//}
}
答案 0 :(得分:1)
您在压缩页面(例如gzip)吗?确保您的页面未压缩...