2013-04-16 6 views
5

IISを持つサーバー上でホスティングしているWebサイトをAzure Webサイトに移動しようとしています。私はCOMオブジェクトを使用していますが、これを登録できるかどうかわかりません。私はいくつかの記事のdllをアップロードし、起動時にそれを登録について話しているが、記事が見つからないようだ。これは可能ですか?Azure COMオブジェクト

答えて

2

Azure WebサイトにCOMオブジェクトを登録することはできません。これを行うには、Webロールにアップグレードする必要があります。 COMオブジェクトの登録は、スタートアップスクリプト中に発生する可能性があります。

+0

どうすればよいですか?私はダッシュボードを見ていますが、Webロールについては何も見ません。 – thecaptain0220

+1

Webロールはクラウドサービスの一部です。ビジュアルスタジオにクラウドサービス(WebROle)を作成し、その下に既存のプロジェクトを追加し、COMオブジェクトの計測スタートアップスクリプトを登録し、他のものを修正/変更する必要がないことを確認する必要があります。また、少なくとも2つのサーバーでWebRolesが動作することを期待してください。したがって、状態とセッションはこれと互換性が必要です。 – Igorek

4

AzureにレガシーCOMコンポーネントを登録する際に、この問題が発生しました。私はここに私の方法論を文書化:

AspPDF and AspJPEG on Windows Azure

Igorekが正しい、あなたはこれを達成するためのWebロールを使用する必要があります。上記のソリューションは、起動スクリプトとしてregsvr32を起動タスクとして実行する単一のWebロールに基づいています。

要約すると、これを達成するために本質的に2つの部分があります。まずregsvr32コマンドを実行するバッチファイルを作成します。

chcp 1252>NUL 
regsvr32 /s .\library\my-com-class.dll 
exit /b 0 

その後、あなたのServiceDefinition.csdefファイル内のスタートアップタスクを定義します。

<Startup> 
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" /> 
</Startup> 

これは、展開上で実行するコマンドファイルをトリガします。

+0

プロジェクト構造のどこにcmdファイルを配置しますか?答えを少し広げることができますか?ありがとうございました –