我们在IIS 8上运行了一个ASP.NET MVC站点。
当我们的客户网站使用西里尔语时,我们经常会看到菱形带有问号,而这些地方应该是普通字符。
例如,以下是它在浏览器中的呈现方式:
我在IIS中为200个状态代码响应启用了Filed Requests Traicing,并且能够看到何时将其作为从IIS发送到客户端的缓冲区的一部分进行跟踪。以下链接显示了我在xml日志文件中看到的针对此特定段落的文本:
这是浏览器中的实际html: http://notepad.cc/hiccehe19
我注意到的另一件事是,当我重新启动网站时,第一次请求页面时,它是菱形的。每一个随之而来的要求都会瘫痪。
请查看提供的文本文件,并告诉我从这里查找的位置。
感谢。
更新1 我已经解码了
的字符串,它被追溯到实际可读的Cyrillic,我发现菱形已经存在了。因此,无论它打破了编码序列,它都会在IIS发出响应流之前发生。
更新2
我保存了初始的,干净的响应,在浏览器中渲染没有菱形的跟踪日志并发现初始缓冲区不同。第二个缓冲区条目准确地开始菱形在每个后续响应中出现的位置。 这是第二个缓冲区条目的开始: http://notepad.cc/zbewuqu71
因此菱形在第一个响应后发生。在第一个,缓冲区分割的位置将标记每个下一个响应中菱形出现的位置。