2010年11月24日

Windows Azure Web RoleをIISで動かす

ローカル環境でWindows AzureのWebRoleを動かす方法ですが、下記方法があります。

  1. Development Fabricシミュレータ
  2. ASP.NET開発サーバー (スタートアッププロジェクトをWebRoleプロジェクトに設定)

ただし上記方法ではlocalhost(127.0.0.1)しかアクセスできないっぽい、またASP.NET開発サーバーが急に遅くなったら不安定、なのでIISでデバッグする方法を試みた。手順は下記通り

  • IISサービスの「IISメタベースおよびIIS 6構成との互換性」を有効にする

image 

  • スタートアッププロジェクトをWebRoleプロジェクトに設定して、サーバーをIISに変更

image

  • WebRoleプロジェクトのweb.configファイルに下記追加

<system.web>

<customErrors mode="Off"/>

</system.web> 

  • WebRoleプロジェクトをスタートアッププロジェクトに設定し、デバッグ起動します。

 

またよくわかりませんが、ASP.netのログイン機能を使う場合、ログインや登録する際、下記SQLExceptionが発生します。(ASP.NET開発サーバーでは問題なく使えたが)

SqlException (0x80131904): ユーザーのローカル アプリケーション データ パス取得中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。

原因はよくわかりませんが、とりあえず直接SQLServerにつながるよう変更

  • ASP.net用データベースおよびログインユーザーを作成

SQL Server Management Studioを使って作成できます。詳細は略

  • ASP.netログインスキーマ作成

C:\Windows\Microsoft.NET\Framework\v4.0.xxxx\aspnet_regsql.exeを実行してスキーマを作成

image

  • WebRoleプロジェクトのweb.configファイルに下記変更

<add name="ApplicationServices"
      connectionString="data source=.\SQLEXPRESS;Initial Catalog=DB;User ID=USER;Password=PASS;"/>

DBはデータベース名、USERはログインユーザー名、PASSはパスワード

0 件のコメント:

コメントを投稿