【问题标题】:Detect HTTPHandler Start检测 HTTPHandler 启动
【发布时间】:2012-11-19 16:57:35
【问题描述】:

有没有办法检测 httphandler 是否已经开始传输?

我正在尝试进行大型动态 Excel 导出(以 html 表格格式)。我可以这样做,但是从 httphandler 获取消息并开始下载有很长的延迟。我已经关闭了输出缓冲区,所以延迟似乎是在等待SQL服务器将数据转储到sqldataset中。

无论如何,我想将用户发送到一个新页面,让页面显示一条消息,并在 httphandler 开始发送文件后自动关闭。

有没有办法检测第一个文件头是否已经发送?

非常感谢!

【问题讨论】:

    标签: c# header httphandler


    【解决方案1】:

    我建议构建一个带有消息“正在编译数据,您的下载将很快开始”的普通(.aspx)登录页面,然后将用户重定向到处理程序以进行实际下载。这样,您将处理单击下载链接和数据到达用户可能认为有问题的数据之间可能存在的延迟。

    【讨论】:

    • 如果你添加 content-disposition: inline 到标题,它会打开文件“inline”,即用刚刚下载的内容替换选项卡。我知道这至少适用于 pdf,对于 excel 数据不太确定,但值得一试。
    • 实际上可能取决于 Excel 在开始显示任何内容之前需要一个完整的数据集。这意味着您不能制作在下载过程中会“出现”在屏幕上的电子表格,例如图片。
    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多