Custom OutputCacheProvider CacheEntry Buffer から 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));
}
edit : 「Stringify」する前にすべての byte[] を連結しようとし、UTF-8 エンコーディングで試しました。