【问题标题】:Reading an RTF file inside a business logic (DLL) referenced from ASP.NET application从 ASP.NET 应用程序引用的业务逻辑 (DLL) 中读取 RTF 文件
【发布时间】:2013-06-12 10:29:40
【问题描述】:

如何读取位于该项目中的业务逻辑 (DLL) 中的文件,该文件是从 ASP.NET 应用程序引用的?

在我的场景中,我有一个 Web 应用程序,然后是一个库,它加载生成 pdf 的 activereport 报告。其中一个报告有一个从文件加载的 RichText 控件。我试图让它从资源文件加载,但只显示了 RTF 的第一行,我真的很想知道为什么……所以我的下一次尝试是打开服务器上的文件.. 但我无权访问 Server.MapPath 因为我在业务逻辑上。我的其他选择是什么?

谢谢!

【问题讨论】:

  • 你能分享从资源中读取的 rtf 字符串吗?您使用哪些代码行来读取将 rtf 分配给 rtb 控件?
  • 不能保密抱歉。我尝试将文件放在资源文件中,然后将其分配给控件的 RTF 属性。
  • 似乎错误是在资源流中读取。您绝对可以从资源流中读取数据并将其用于 AR 中的 RTF 控件。请发布您用于从资源流中读取的代码,我们可以帮助您调试该代码。
  • 你想明白了吗?

标签: asp.net webforms rtf activereports


【解决方案1】:

您可以通过 HttpContext 获得对 Server 对象的引用,但这不太理想,因为现在您已经使业务层依赖于表示层。

Bussiness Class unable to refrence HTTPContext

【讨论】:

  • 当然这是不可取的。是否可以从程序集应用程序开始加载它?
  • 您是否尝试将文件 (PDF) 流式传输到浏览器?
  • 您应该考虑使用 HTTP 处理程序 (.ashx),它会调用您的库并获取 PDF,然后将 PDF 返回到浏览器(作为附件,这样它将流式传输并且浏览器将使用MIME 类型让客户端弄清楚如何打开它)。
  • 它不是那么简单,我无法更改配置方式这是我必须解决的公司应用程序问题,我无法触及 pdf 的呈现方式。 :)
猜你喜欢
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 2010-11-10
  • 2016-10-11
  • 2013-01-10
相关资源
最近更新 更多