2012-03-22 8 views
0

타사 웹 페이지 화면 캡처 DLLhttp://websitesscreenshot.com/에서 URL을 대상으로하고 이미지 파일에 페이지를 저장할 수 있습니다. 이 코드를 Azure 기반 프로젝트로 옮겼습니다. 로컬 샌드 박스의 devbox에서 실행하고 Azure 블롭에 저장하면 모든 것이 잘됩니다. Azure에서 라이브 서버로 비트를 전송하면 실패합니다.MSHTHML.dll 및 SHDOCVW.dll을 Azure에 게시하는 방법

나는 나의 푸른 구성에서 누락 된 shdocvw.dll을 중 하나 mshtml.dll을 및/또는 때문이라고 생각합니다.

Azure까지이 라이브러리 (및 종속 바이너리 포함)를 어떻게 얻을 수 있습니까?

MSFT 포럼에서 다음 조언을 찾았지만 아직 시도하지 않았습니다. http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/0344dcff-6fdd-4479-a3b4-3e89750a92f4/

안녕하세요, 저는 클라우드에서 mshtml을 시도하지 않았습니다. 그러나 일반적으로 에 웹 역할의 네이티브 dll을 사용하려면 그림 추가 (기존 항목 추가 선택)와 마찬가지로 웹 역할 프로젝트에 dll을 추가합니다. 그런 다음 Build Action이 Content로 설정되어 있는지 확인하십시오. 그러면 Visual Studio 에 dll 파일을 출력 패키지로 복사합니다.

또한 신중하게 종속성을 확인하십시오. 네이티브 코드와 관련된 많은 문제는 특정 VC++ 런타임 DLL과 같은 종속성이 누락되어 발생합니다.

생각 나는 검증되지 않은 솔루션으로 하루나 이틀 정도 굽기 전에 먼저 여기에서 질문 할 것입니다.

수정 # 1 : 그것은 우리의 문제가 MSHTML.DLL 또는 SHDOCVW.DLL이 푸른 서버에서 누락과 관련되지 않은 것으로 나타났다. 그들은 거기에있다.

기본적으로 새로운 서버 인스턴스의 IE 보안 강화 기능이으로 설정되어있어 타사 DLL이 스크립트를 실행할 수 없었습니다. 그래서 우리는 향상된 IE 보안 구성 설정을 해제해야했습니다. 이것은 또한 사소한 운동입니다.

그 사이에 화면 캡처를해야하는 사이트의 서버 측 버전을 만들었습니다 (예를 들어 클라이언트에서 JSON 기반 UI 렌더링이 생략되었습니다). .

답변

1

MSDN 포럼 스레드에서 언급 한 솔루션이 정확하다고 생각합니다. SDK를 프로젝트 파일의 일부로 저장하여 클라우드의 VM에 패키징하고 배포해야합니다.

그러나 COM이고 등록해야하는 경우 시작 기능을 통해 등록 명령을 호출하는 것이 좋습니다. 확인해주세요 http://msdn.microsoft.com/en-us/hh351539

HTH

+0

감사합니다. 우리는 내일 시도해보고 이것이 효과가 있는지 살펴볼 것입니다. 작년에 다른 DLL을 등록하는 데 몇 가지 문제가 있었지만 링크 된 기사는이를 수행하는 방법에 대한 좋은 요약을 제공하는 것 같습니다. 감사. –

+0

OP의 "Edit # 1"에서 언급했듯이 우리 문제는 서버에 누락 된 DLL과 관련이 없습니다. 그러나 나는 우리가이 길로 향할 필요가 없더라도 원래의 질문에 대답하기 때문에 어쨌든 당신의 대답을 받아들입니다. –