在ASP.Net MVC中使生成的文件可供下载的最简单/最好的方法

时间:2009-08-11 21:42:47

标签: asp.net-mvc pdf reporting-services

我正在开发一个ASP.NET MVC网站。报告由SQL Server Reporting Services完成。我知道如何在没有显示的情况下从报告中制作PDF文件,但我不确定存储此文件的最简单/最佳方式是什么?可以在MVC中下载或通过电子邮件发送(从MVC发出) )。

非常感谢任何帮助或指示!

西蒙

1 个答案:

答案 0 :(得分:1)

我们不特别使用SSRS,但我们确实有报告生成服务。

通过电子邮件发送将是最容易的事情。除此之外,您可以将它放在ASP.NET MVC和SSRS都可访问的文件共享上。

我们做的是:

  1. 用户单击浏览器中的打印报告按钮,浏览器将消息发布到ASP.NET MVC站点
  2. ASP.NET MVC站点创建一个GUID,将该GUID加载到一条消息中,其中包含生成报告所需的所有其他内容,将该消息发布到消息队列,并将GUID返回给浏览器
  3. 报告服务轮询消息队列,获取消息,对其进行处理并生成报告给文件share \ reportserver \ reports \ GUID.pdf。完成后,它会写一个\ reportserver \ reports \ GUID.done文件。
  4. 浏览器中的JS定期回到ASP.NET MVC站点,该站点反过来查看.done文件是否存在。完成后,它会重定向到返回PDF的操作。