私の状況は次のとおりです。
サーバーからPDFファイルを読み取って返しています。このファイルは、内に表示されますiframe
。次のコードはIEで正常に機能します。ただし、Chrome経由でサイトにアクセスすると、すべてのジャンク文字が表示されます。
while ((byteCount = inStr.Read(buffer, 0, buffer.Length)) > 0)
{
if (HttpContext.Response.IsClientConnected)
{
HttpContext.Response.BufferOutput = true;
HttpContext.Response.ContentType = "application/pdf";
HttpContext.Response.OutputStream.Write(buffer, 0, buffer.Length);
//HttpContext.Response.Flush();
}
}
応答をフラッシュすると、PDFが正しく表示されます。問題は、flushを呼び出すと"Server cannot set status after HTTP headers have been sent"
、サーバーで警告が発生することです。
質問:Chromeにフラッシュが必要なのはなぜですか?フラッシュを回避する方法があるのですか?これまでのところ、私はすべての投稿を読みましたが、フラッシュに関連するサーバーエラーを解決できません。
サーバー-IIS7、Windows Server 2008 R2
アプリ-ASP.Net4.0.30319.0、C#、Ajax