normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

RIA Servicesでテーブル・ストレージを利用する その3 〜本番環境で実行、けど失敗〜

以前に紹介した Windows Azure上でRIA Servicesを利用する方法を試して頂いた方は居るだろうか。以下の記事を通読すれば、Development Fabric+Development Storageのローカル環境での稼働確認は行えるため、未読の方はまずご一読頂きたい。

  • RIA Servicesでテーブル・ストレージを利用する その1 〜ローカル実行で参照処理編〜 id:waritohutsu:20101103:1288751665
  • RIA Servicesでテーブル・ストレージを利用する その2 〜ローカル実行で追加処理編〜 id:waritohutsu:20101103:1288755345

本記事の流れ

今回は、以下のステップで作成したアプリケーションのポータルサイトへの移行を行う*1

  • アプリケーションはDevelopment Fabricで動作させ、ストレージはWindows Azure Storage Servicesの本番環境に接続(下図の項番2に相当)
  • アプリケーションはWindows Azure Fabricで動作させ、ストレージはWindows Azure Storage Servicesの本番環境に接続(下図の項番3に相当)

図にも記述しているが、完全に本番環境に移行した場合、なぜかWindows Azure Storage Servicesへのアクセスがうまくいかない。知見のある方は是非ご指摘頂きたい

アプリケーションはDevelopment Fabricで動作させ、ストレージはWindows Azure Storage Servicesの本番環境に接続

この設定変更は非常に容易だ。設定変更手順を示したので、下図を参考に設定変更をして頂きたい。

  1. Visual Studioのソリューションエクスプローラから、Windows Azureクラウドサービスの当該Roleをダブルクリック
  2. 当該Roleの「設定」タブを選択する
  3. 接続文字列の設定変更用のダイアログを起動するため、「…」ボタンを押下する
  4. Azureポータルサイトに記載されている資格情報を入力

設定変更後、Visual StudioからF5でアプリケーションを実行して頂きたい。アプリケーションが問題なく動作しているのが確認できるはずだ。

アプリケーションはWindows Azure Fabricで動作させ、ストレージはWindows Azure Storage Servicesの本番環境に接続

次に、動作アプリケーションをWindows Azure Fabricで動作させてるための手順を紹介する。AzureポータルサイトにアプリケーションをデプロイしてWindows Azure Fabricで動作させる際の注意点は、ローカル環境(Development Fabric)とAzureポータルサイト(Windows Azure Fabric)ではインストールされたDLLが異なるという点だ*2
このため、Azureポータルサイト側に用意されていないアセンブリに対し「ローカルコピー=True」の設定を行う必要がある。当該アセンブリは以下になるので、設定変更を実施して頂きたい。

  • Microsoft.ServiceModel.DomainServices.WindowsAzure
  • System.ServiceModel.DomainServices.Hosting
  • System.ServiceModel.DomainServices.Server

設定変更後にアプリケーションをAzureポータルサイトにデプロイ後、アプリケーションの初期化処理終了後にアクセスしてほしい。WEBアプリケーション側にはアクセス可能であり、Silverilghtアプリケーションの起動は確認できるが、肝心のデータ参照&データ追加がうまく動作しない。

注意

「アプリケーションはWindows Azure Fabricで動作させ、ストレージはWindows Azure Storage Servicesの本番環境に接続」でAzureポータルサイトにデプロイを行った際、Roleの状態が「Unresponsive」と表示されることがある。この場合、「ローカルコピー=True」の設定が失敗しており、アセンブリの参照で例外が発生している可能性が高い。再度設定を見直してほしい。

*1:MSDNにこんなサイトがあるのね http://msdn.microsoft.com/en-us/library/dd179441.aspx

*2:本件と似たケースとして、「ASP.NET MVC3 Preview on Windows Azure をしてみる id:waritohutsu:20100831:1283275189 」が存在する。是非当記事も一読して頂きたい