2009-07-06 6 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ビットにする必要があります –

関連する問題