好的大问题,因为这会影响我们新服务器上的两个项目。我们有一个用户下载的文件,使用HTTPHandler下载文件。由于将站点移动到服务器并设置SSL,下载已停止工作,我们从站点“收到错误消息”“无法下载DownloadDocument.ashx”.DownloadDocument.ashx是web.config中设置的处理程序页面去那里的按钮是一个超链接,文件的id作为查询字符串。我已阅读http://support.microsoft.com/kb/316431上的文章,并阅读了该网站上的一些其他请求,但似乎没有任何工作。这个问题只发生在IE和当我在服务器上以http而不是https运行它时工作正常。
public override void HandleRequest(HttpContext context)
{
Guid guid = new Guid(context.Request.QueryString["ID"]);
DataTable dt = Documents.GetDocument(guid);
if (dt != null)
{
context.Response.Cache.SetCacheability(HttpCacheability.Private);
context.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", dt.Rows[0]["DocumentName"].ToString()));
context.Response.AddHeader("Content-Transfer-Encoding", "binary");
context.Response.AddHeader("Content-Length", ((byte[])dt.Rows[0]["Document"]).Length.ToString());
context.Response.ContentType = string.Format("application/{0}", dt.Rows[0]["Extension"].ToString().Remove(0, 1));
context.Response.Buffer = true;
context.Response.BinaryWrite((byte[])dt.Rows[0]["Document"]);
context.Response.Flush();
context.Response.End();
}
}
以上是我当前的请求代码。我已在http://haacked.com/archive/2005/03/17/AnAbstractBoilerplateHttpHandler.aspx上使用了基本处理程序。 关于这可能是什么以及我们如何解决它的任何想法。
提前感谢所有回复。