Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。5PowerShellスクリプトの実行まとめWebRole.csの修正スタートアップタスクの構成に引き続き、ランタイムの構成を行います。ランタイムの権限昇格によってWebRoleクラスは管理者権限で実行されます。Webロールにおいて、Webアプリケーションが実行されるアプリケーションプールは64bitで構成されています。このままでは、32bitのCOMコンポーネントを呼び出すことはできないため、アプリケーションプールを32bitで再構成します。この処理は、WebRoleのOnStartメソッドで行います。Webロールのコンテキストメニューからから[参照の追加]を選択し、Microsoft.Web.Administrationへの参照を追加します。Microsoft.Web.Administration.dllは、C:\Windows\System32\inetsrvに存在します。WebRole.csファイルを開きコードを入力します(リスト7)。ServerManagerクラスはIISの構成を管理するクラスです。このServerManagerクラスからアプリケーションプールを取得し、32bitアプリケーションが実行できるようにIISの構成変更を行います。}}COMコンポーネントの登録と参照設定COMコンポーネントの登録と参照設定を行います。サンプルファイル(Sample.zip)をダウンロードし解凍します。解凍後に作成されるCOMフォルダから、AzureCOMSample.dllをWebロールプロジェクト内にコピーしプロジェクトに含めます。AzureCOMSample.dllもスタートアップスクリプトファイルと同じく、プロパティを常にコピーするに設定します。管理者権限でコマンドプロンプトを開きregsvr32コマンドを実行します(リスト8)。AzureCOMSample.dll登録に成功すると成功した旨のメッセージボックスが表示されます(図4)。続いて、Webロールのコンテキストメニューから[参照の追加]を選択し、登録したCOMコンポーネントへの参照を追加します(図5)。図5:COMコンポーネントへの参照設定これで、COMコンポーネントの登録は完了です。Webフォームの修正COMコンポーネントを呼び出し、結果を表示する部分を作成します。Default.aspxを開き、リスト9のコードを入力します。</p></asp:Content>デザイナでの表示は、図6の通りです。引き続き、コードビハインドクラスの修正を行います(リスト10)。Label1には、現在のプロセスが32bitか64bitのいずれかで動作しているか表示します。IISのアプリケーションプールを32bitで構成しているため、常に32bitと表示されます。ボタンのイベントハンドラメソッドには、COMクラスの生成とGetMessageメソッドの呼び出しを追加し、Label2に表示します。今回のサンプルでは、常に32bitと表示される。COMのクラス生成し呼び出す、結果を表示する。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Technologies。執筆コミュニティ「WINGSプロジェクト」代表。