ユーザーがリモートで保存された PDF ファイルを取得できるようにする単純な HTTP ハンドラーがあります。驚いたことに、IE9 からハンドラーが呼び出された場合、このコードはうまく機能しますが、IE8 はスタックしたままです。PDFを正しく表示するには、URLをもう一度呼び出す必要があります。
応答にさらに関係があるかどうかを確認するために、Web で確認しました。最初は応答が適切に終了されていないと思っていましたが、次の記事を見つけました 。 -customer-feedback-helps-us-improve-msdn-documentation.aspx どうやら、context.Response.Close() または context.Response.End() を使用しないでください。
私が使用しているコード:
using System.Web;
namespace WebFront.Documents
{
public class PDFDownloader : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Makes sure the page does not get cached
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
// Retrieves the PDF
byte[] PDFContent = BL.PDFGenerator.GetPDF(context.Request.QueryString["DocNumber"]);
// Send it back to the client
context.Response.ContentType = "application/pdf";
context.Response.BinaryWrite(PDFContent);
context.Response.Flush();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
誰かが同じタイプの問題に直面しましたか?