2012-01-17 3 views
2

Office 도구의 서버 측 자동화 (Considerations for server-side Automation of Office) 에 대한 Mircosoft의 권장 사항 그러나 다른 옵션은 없습니다. 내가 뭘 하려는지, HTML (이미지 + 하이퍼 링크에 대한지도)로 vsd 파일을 변환합니다. 이것은 비슷한 질문에 대한 답변으로 인용 된 Aspose.Diagram에서 아직 가능하지 않습니다. LibreOffice 3.5에서 사용되는/LibVisio은 끝나지 않았으며 하이퍼 링크도 지원하지 않습니다.Visio 서버 측 자동화를위한 대안

내가 시도할만한 것이 있습니까? 그렇지 않은 경우 : 주요 보안 위험없이 visio에 액세스 할 수 있도록 ASP.NET 웹 서비스에 대한 액세스 권한을 설정하는 방법에 대한 힌트를 얻으십시오. (하나의 튜토리얼은 나에게 조금 위험한 소리를내는 시스템 관리자 계정으로 가장하는 설정)

답변

1

사무 자동화 및 웹 응용 프로그램의 주요 문제점은 단순히 사무용 프로그램이 같은 시간. Visio 또는 다른 Office 프로그램을 웹 요청에서 즉시 실행하는 경우 어떤 유형의 공유 메모리 문제가 발생할지 알 수 없습니다. 이러한 응용 프로그램의 메모리 사용량은 동시 연결의 10 또는 100을 처리하는 데 적합하지 않습니다. 또한 요청 브라우저는 여러 가지 이유로 사라질 수 있으며 앱 실행을 중지시키는 좋은 방법이 없습니다.

이 점을 염두에두면 응용 프로그램을 조종 할 수 있습니다. 한 가지 방법은 Visio가 서버에서 여러 번 인스턴스화되지 않도록 웹 서비스로 큐 시스템 유형을 설정하는 것입니다.

"visio server"를 설정합니다. Visio가 설치된 별도의 컴퓨터를 의미합니다. 그런 다음 하나의 작업을 대기열 스택에서 꺼내 작업을 실행하고 결과를 저장하는 컨트롤러 응용 프로그램을 작성합니다. 이렇게하면 한 번에 하나의 작업 만 가능하므로 한 번에 하나의 Visio 복사본 만 실행됩니다. 이것은 라이센스 문제를 깔끔하게 처리합니다.

따라서 웹 응용 프로그램은 작업을 데이터베이스 대기열에 게시합니다. 컨트롤러는 해당 작업을 폴링하고 작업을 찾으면이를 실행하고 결과를 저장합니다. 린스하고 반복하십시오.

웹 응용 프로그램은 데이터베이스를 폴링하여 결과가 언제 준비되어 있는지 사용자에게 알릴 수 있습니다. 아마도 15 초마다 점검하는 Ajax 페이지 유형 일 것입니다. 또는 사용자가 전자 메일로 결과를 보내거나 나중에 다시 확인할 수 있습니다. ...

참고로 컨트롤러 및 Visio가 실행될 때 보안 위험이 발생하지는 않습니다. 별도의 기계. 이 별도의 컴퓨터는 단순히 visio를 실행하고 데이터베이스에서 작업 정보를 가져 오는 것 이상의 다른 권한이 필요하지 않습니다. 그래서 악성 Visio 일이 생기더라도 피해는 단지 한 대의 기계에만 국한됩니다.