2011-04-21 2 views
10

: -내가 내 C# 코드를 통해 DLL을 액세스하기 위해 여기에 설명 된 방법을 사용하고, asp.net 응용 프로그램에서 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 Dlls를 찾을 수 있는지 확인했으며 메서드 호출로 들어가는 도트 코드가 로컬에서와 동일하다는 것을 확인했습니다. 서버. 모든 것이 잘 처리됩니다.

나는이 문제로 내 머리카락을 찢어 내고 있는데, 누구든지 문제가 될 수있는 아이디어가 있습니까?

+1

예를 들어 관련성이 없을 수도 있습니다. 그래도 나는 graphviz \ bin 디렉토리의 거의 모든 dll을 포함 시켜서 David Brown 기사에서 (어쩌면 Graphviz 설치 폴더가 PATH에 없기 때문에). 그래도 여전히 몇 가지 문제가 있습니다 ... – marapet

+4

Graphviz Dll에 익숙하지 않지만 이미지를 생성 할 때 하드 드라이브에 파일을 생성합니까? .NET 차트 컨트롤은 특정 디렉터리를 사용하여 동적 차트 생성 프로세스에서 사용되는 임시 파일을 만들고 파괴합니다. 개발 시스템에서 서버로 컨트롤을 사용하는 솔루션을 옮길 때 비슷한 문제가있었습니다. .NET에서 이미지를 만든 폴더에 대한 IIS 계정 권한을 부여해야했습니다. –

답변

1

어떻게 dll을 등록 하시겠습니까? 서버의 web.config를 다시 확인하십시오 (어쩌면 거기에 뭔가 빠졌을 수도 있습니다)?

Justin C가 제안한 것처럼 dll이 PDF 쓰기/쓰기 스트림을 사용하는 서버에 임시 폴더가 없는지 확인하십시오. 그 폴더에 대한 쓰기 권한을 허용해야 할 수도 있습니다.

관련 문제