title: Trouble sending file through IHttpAsyncHandler
body: <p>I'm using a IHttpHandler to call a webservice and return the resulting byte[] to the client as a downloaded file attachment.  This works fine, but when I tried changing the IHttpHandler to a IHttpAsyncHandler,  the file download dialog shows, but the file does not start/finish downloading.  What am I doing wrong?</p>
  
  <pre><code>&lt;%@ WebHandler Language="C#" Class="PreviewPDF"  %&gt;
  
  using System;
  using System.Web;
  
  public class PreviewPDF : IHttpAsyncHandler
  {
      public void ProcessRequest(HttpContext context)
      {
      } 
  
      public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
      {
          string data = "some data";
  
          using (WebService.RequestService service = new WebService.RequestService())
          {
              AsyncCallback callback = new AsyncCallback(EndProcessRequest);
              return service.BeginGetFile(data, callback, context);
          }
      }
      public void EndProcessRequest(IAsyncResult result)
      {
          HttpContext context = result.AsyncState as HttpContext;
          byte[] wsoutput;
          using (WebService.RequestService service = new WebService.RequestService())
          {
              wsoutput = service.EndGetFile(result);
          }
  
          context.Response.ContentType = "application/octet-stream";
          context.Response.ContentEncoding = System.Text.Encoding.Unicode;
          context.Response.AddHeader("Content-Disposition", "attachment; filename=attachment.pdf");
          using (System.IO.MemoryStream ms = new System.IO.MemoryStream(wsoutput))
          {
              ms.WriteTo(context.Response.OutputStream);
          }
          context.Response.Flush();
      }
  
  
      public bool IsReusable {
          get {
              return false;
          }
      }
  }
  </code></pre>