2009-07-06 5 views
2

무거운 짐을 많이하기 위해 관리되지 않는 dll (Win32 생각)에 의존하는 TagLib # (http://developer.novell.com/wiki/index.php/TagLib_Sharp)을 사용하는 WCF 서비스를 만들었습니다. Azure에서이 WCF 서비스를 호스팅 할 수 있습니까?Azure 서비스가 비 관리 코드를 실행할 수 있습니까?

나는이는 .csdef 파일에서 찾을 않았다

<WebRole name="WebRole" enableNativeCodeExecution="true"> 

가 어떻게합니까 내가이하는 무슨 희망이?

관리되지 않는 코드가 32 비트 또는 64 비트인지 여부는 별개입니까? 필자는 경험상 64 비트 WCF 서비스에서 32 비트 Dll을 호출하려고하면 작동하지 않으며 Azure가 64 비트 플랫폼이라고 생각합니다.

답변

3

32 비트 플랫폼에서 P/Invoke를 사용하여 수행 할 수 있습니다. 그러나 64 비트 플랫폼에서는 그렇지 않습니다. 자세한 내용은 this article을보십시오. 그러나 원한다면 직접 서비스를 호스팅하고 Azure의 service bus 기능을 사용할 수 있습니다.

+0

완벽한, 감사합니다! –

5

실제로 JP가 다른 방향으로 생각한다고 생각합니다. 클라우드의 P/Invoke는 모든 VM이 기본적으로 Win 2k8 x64를 실행하기 때문에 32 비트가 아닌 64 비트에서 작동합니다. 물론 새로운 프로세스를 생성 할 수 있습니다.

또한 COM 서버 등록은 오늘 작동하지 않습니다. Taglib이 COM을 어떻게 사용하는지 모르겠습니다.

+0

해결 방법은 Azure에서 32 비트 하위 프로세스를 생성 한 다음 p/invoking하는 것입니다. –

+0

예. 이 경우 하위 프로세스는 WOW64에 있으므로 모든 것은 32 비트 여야합니다. –

관련 문제