2011-04-21 31 views
10

我使用的Graphviz的Dll在asp.net應用程序,我使用這裏所描述的方法,通過我的C#代碼來訪問這些DLL: -在asp.net C#應用程序使用的Graphviz的Dll

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,並且已檢查進入方法調用的點代碼是否與本地相同服務器。一切檢查正常。

我正在撕裂我的頭髮與這個問題,任何人有任何想法可能是什麼問題?

+1

也許不相關,但以防萬一:我不得不包含graphviz \ bin目錄中的幾乎所有dll以獲取示例工作,而不僅僅是大衛布朗提到的那些在文章中(可能是由於Graphviz安裝文件夾不在PATH中)。仍然有一些問題,雖然... – marapet 2011-04-22 17:28:05

+4

我不熟悉Graphviz Dll,但他們創建圖像時在硬盤驅動器上創建任何文件? .NET圖表控件使用特定目錄來創建和銷燬動態圖表創建過程中使用的臨時文件。當我將一個使用這些控件的解決方案從開發機器移動到服務器時,我遇到了一個非常類似的問題。必須爲.NET創建映像的文件夾提供IIS帳戶權限。 – 2011-04-23 18:57:37

回答

1

你是如何註冊dll的?仔細檢查服務器上的web.config也許(也許你錯過了那裏的東西)?

也像Justin C建議的那樣,確保在dll正在使用流寫入/創建PDF的服務器上沒有臨時文件夾。您可能需要允許該文件夾的寫權限等。

相關問題