這是一個艱難的。我有一個響應過濾器設置來轉換HTML,然後再吐出到瀏覽器(http://aspnetresources.com/articles/HttpFilters)。這適用於所有人,但我的。事實上,它一直在我的機器上工作,直到我必須進行硬重置,因爲它被鎖定。System.Text.Ecoding.UTF8.GetString返回垃圾
public override void Write(byte[] buffer, int offset, int count)
{
string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count);
對於其他人(和我以前的版本)strBuffer包含HTML。無論出於何種原因,它都會爲我返回垃圾字符。有任何想法嗎?我拉我的頭髮!
更新
原來,「啓用動態內容壓縮」導致了問題。出於某種原因,在傳入過濾器之前它會被壓縮。
解決方案
設置 「dynamicCompressionBeforeCache」 假固定問題的web.config中。
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
檢查緩衝區並查看返回的實際字節。它看起來像Unicode還是不是? – mquander 2010-08-10 17:42:17
Unicode究竟是什麼樣的?前幾個字節是31,139,8,0,0,0,0,0,4 ... – Micah 2010-08-10 17:50:04