【发布时间】: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 帐户权限。