スタートアップ タスクの利用例(ASP編)


Windows Azure SDK 1.3 からスタートアップ タスクという機能が追加され、今までできなかった IIS のカスタマイズや、アプリケーションのインストール等ができるようになっています。

 

いろいろなことができますが、まずは、ASPActive Server Pages)を実行するための手順を記述しておきます。なお、以下の手順は、プロジェクトに既に設定されているので、そのまま使うことが可能です。

 

(1)  Visual Studio Web ロールを追加したクラウド プロジェクトを作成

(2)  ServiceDefinition.csdef ファイル内に、実行するコマンドを追加

 

  <WebRole name="WebRole1">

    <Startup>

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

    </Startup>

    <Sites>

      <Site name="Web">

        <Bindings>

          <Binding name="Endpoint1" endpointName="Endpoint1" />

        </Bindings>

      </Site>

    </Sites>

    <Endpoints>

      <InputEndpoint name="Endpoint1" protocol="http" port="80" />

    </Endpoints>

    <Imports>

      <Import moduleName="Diagnostics" />

    </Imports>

  </WebRole>

 

(3)  Web ロールのプロジェクトに startup.cmd ファイルを追加。内容は、

 

start /w pkgmgr /iu:IIS-ASP

 

※上記は、IIS ASP をホスティングする機能を有効化する設定。他の設定を行う場合は、コマンドで指定する前に、リモートデスクトップで Azure にログインして、テストしたから記述することがお勧め。

 

(4)startup.cmd のプロパティで、出力ディレクトリにコピー 常にコピーするに設定

(5)Web ロールのプロジェクトに default.asp を追加。内容例は以下。

 

<%@ Language="javascript" %>

<html>

<head>

<title>Hello, World!</title>

</head>

<body>

    <%        Response.write("Hello from Classic ASP!"); %>

</body>

</html>

 

後は Azure のソリューションをアップロードし、ページを表示すれば “Hello from Classic ASP!” と表示され、ASP が実行されることを確認できます。

 

ASP では、COM コンポーネントを使うことがありますが、COM コンポーネントを予め登録する場合は(COM 世代の人なら当たり前のように)、statup.cmd 内に regsvr32 /s xxxx.dll を記述します。

 


Skip to main content