我尝试从我的自定义 OutputCacheProvider CacheEntry 缓冲区中截取 textraw。
当我使用时, cacheEntry.ResponseElements.First()
我得到了我的 html 页面的一半,但是当我尝试连接所有块时,我得到了一个糟糕的响应(看起来像二进制序列化数据)。我该怎么做:
IOutputCacheEntry cacheEntry = cachedItem.Item as IOutputCacheEntry;
StringBuilder textResponse = new StringBuilder();
foreach (var responseRaw in cacheEntry.ResponseElements.Where(s=>!(s is FileResponseElement )))
{
Byte[] bytes = (Byte[])responseRaw.GetType().GetField("_buffer",
BindingFlags.NonPublic |
BindingFlags.Instance).GetValue(responseRaw);
textResponse.Append(Encoding.Default.GetString(bytes));
}
编辑:我尝试在“字符串化”它们之前连接所有字节 [],并尝试使用 UTF-8 编码。