这是困难的一个。我有一个响应过滤器设置来转换 html,然后再返回浏览器 ( http://aspnetresources.com/articles/HttpFilters )。这在除我之外的每个人的机器上都可以正常工作。实际上,它一直在我的机器上工作,直到我不得不进行硬重置,因为它被锁定了。
public override void Write(byte[] buffer, int offset, int count)
{
string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count);
对于其他所有人(以及我以前的)strBuffer 包含 HTML。现在无论出于何种原因,它都会为我返回垃圾字符。有任何想法吗?我要拔头发了!!
更新
原来是“启用动态内容压缩”导致了这个问题。由于某种原因,它在被传递到过滤器之前会被压缩。
解决方案
在 web.config 中将“dynamicCompressionBeforeCache”设置为 false 解决了该问题。
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />