Excel Wicket DownloadLink上的setCacheDuration

Excel Wicket DownloadLink上的setCacheDuration,excel,file,ssl,download,wicket,Excel,File,Ssl,Download,Wicket,我目前正在使用Wicket中的downloadLink,允许用户下载创建的excel文件,然后删除。通过SSL执行此操作时,IE会给我一个错误: “无法下载 Internet Explorer无法打开此网站。请求的网站不可用或找不到。请稍后再试。“ 在这里: 在阅读了上面的microsoft支持链接后,似乎是因为 因为它是通过SSL的,而我 response.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate,

我目前正在使用Wicket中的downloadLink,允许用户下载创建的excel文件,然后删除。通过SSL执行此操作时,IE会给我一个错误: “无法下载

Internet Explorer无法打开此网站。请求的网站不可用或找不到。请稍后再试。“

在这里:

在阅读了上面的microsoft支持链接后,似乎是因为 因为它是通过SSL的,而我

  response.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate, no-store");
我将我的下载链接设置为:

     private void setupDownloadLink()
{
   IModel excelFileModel = new AbstractReadOnlyModel()
   {
          public Object getObject() 
          { 
            return excelCreator();
          }
       };

     auditDownloadlink = new DownloadLink("auditDownloadlink", excelFileModel);
     auditDownloadlink.setOutputMarkupPlaceholderTag(true);
     auditDownloadlink.setDeleteAfterDownload(true);
     auditDownloadlink.setCacheDuration(Duration.NONE);
     auditDownloadlink.setVisible(false);

     findUserForm.add(auditDownloadlink);

  }

      However, it seems to work if I do:     auditDownloadlink.setCacheDuration(Duration.Minute); 
我想我对这件事感到困惑。setCacheDuration是否表示文件创建后,在删除之前,它将可用多长时间?或者,这是否意味着从声明文件开始,该文件总共可用多长时间

在excelCreator()方法中,我调用File excelfile=new File(“Access.xls”);然后继续处理所有excel工作并创建电子表格,然后在我调用的方法的末尾: FileOutputStream输出=新的FileOutputStream(excelfile); 工作簿。编写(输出); output.close()

我设置的持续时间是否从调用File excelfile=new File(“ssaUserIDAccess.xls”)开始

在这种情况下,我应该使用的最佳持续时间和设置是什么?因为文件可能会变得很大,如果文件足够大,则可能需要一些时间来创建


谢谢

我不记得原因了,但是我们在SSL/IE上遇到了同样的问题,我们只是将缓存持续时间设置为1秒就足够了。只是它不可能是零。另一个我们从未找到的解决方案

auditDownloadlink.setCacheDuration(Duration.ONE_SECOND)

是的,我也这么做了,这似乎在所有的搜索案例中都奏效了。感谢您的验证!