【问题标题】:using Graphviz Dlls in asp.net c# application在 asp.net c# 应用程序中使用 Graphviz Dlls
【发布时间】:2011-08-31 19:03:30
【问题描述】:

我在 asp.net 应用程序中使用 Graphviz Dlls,我正在使用此处描述的方法通过我的 c# 代码访问 Dlls:-

http://implicitoperator.com/blog/2010/4/11/graphviz-c-sample.html

http://implicitoperator.com/blog/2009/12/24/rendering-an-in-memory-graphviz-image-with-c.html

在我的本地机器上调试时一切正常,我得到了我的图表的 pdf。

问题是当应用程序部署到我们的 UAT 服务器时,没有生成图表。没有抛出异常,似乎根本没有错误我只是得到一个空的 PDF 而不是带图表的 PDF。

我已经检查了应用程序是否具有调用非托管代码的正确权限,我已经检查了应用程序可以找到 graphviz Dll,并且我已经检查了进入方法调用的点代码在本地是否与在本地相同服务器。一切正常。

我正在为这个问题而烦恼,有人知道问题可能是什么吗?

【问题讨论】:

  • 可能不相关,但以防万一:我必须包含 graphviz\bin 目录中的几乎所有 dll 才能使示例正常工作,而不仅仅是 David Brown 在文章中提到的那些(可能是由于Graphviz 安装文件夹不在 PATH 中)。不过还是有一些问题...
  • 我不熟悉 Graphviz Dlls,但它们在生成图像时会在硬盘驱动器上创建任何文件吗? .NET 图表控件使用特定目录来创建和销毁在动态图表创建过程中使用的临时文件。当我将使用这些控件的解决方案从开发机器转移到服务器时,我遇到了非常相似的问题。必须为 .NET 创建图像的文件夹授予 IIS 帐户权限。

标签: c# asp.net graphviz


【解决方案1】:

一个尝试的想法:在depends.exe http://en.wikipedia.org/wiki/Dependency_Walker中加载主要的Graphviz Dll。

可能是您缺少依赖项。

【讨论】:

    【解决方案2】:

    您是如何注册 dll 的?仔细检查服务器上的 web.config (也许你错过了那里的东西)?

    也像 Justin C 建议的那样,确保服务器上没有 dll 用于将 PDF 流式写入/创建到的临时文件夹。您可能需要允许对该文件夹等的写入权限。

    【讨论】:

      猜你喜欢
      • 2012-06-10
      • 2012-06-11
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2017-08-02
      • 2022-01-04
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多