Windows Azure

image

Windows Azure ASP.NET MVC 3 Web Role で使っているプロバイダ « ブチザッキで、

どうもこのASP.NET MVC 3 Webロールテンプレートで使っているセッションやメンバシッププロバイダ等各種プロバイダはEntityFrameworkベースのSystem.Web.Providersだそうです。

なんて紹介されています。
System.Web.Providersって、何やつ?どー使ってあげれば良いの?
ってことで、答えを「Deploying the Windows Azure ASP.NET MVC 3 Web Role」から拝借してきました。

MVC 3テンプレートでは、ASP.NET Universal Providerを使用しています。
セッションステートの格納先が初期設定では、SQL Expressを使用するようにしているASP.NET Universal Providerをテンプレートでは、使用しています。

<sessionState mode="Custom" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider"
         type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
         connectionStringName="DefaultConnection"
         applicationName="/" />
  </providers>
</sessionState>

さて、ベストな対応はなんでしょうか?

SQL Azureにシンプルなデータベース「UniversalProviders」を作成します。

image

接続文字列をコピーし、所りゅーしょんのApplicationServiesDefaultConnection接続文字列をSQL Azureの接続文字列に変更します。

接続文字列では、MultipleActiveResultSets=True と設定する必要があります。

<connectionStrings>
  <add name="ApplicationServices"
       connectionString="Server=tcp:YOURDB.database.windows.net,1433;Database=UniversalProviders;User ID=YOURLOGIN@YOURDB;Password=YOURPWD;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;"
       providerName="System.Data.SqlClient" />
  <add name="DefaultConnection"
       connectionString="Server=tcp:YOURDB.database.windows.net,1433;Database=UniversalProviders;User ID=YOURLOGIN@YOURDB;Password=YOURPWD;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;"
       providerName="System.Data.SqlClient" />
</connectionStrings>

後は、Windows Azureにデプロイすれば動作します。

動作させた後、データベースを確認すると「dbo.Sessions」テーブルが作成されています。

ログオンし、ユーザのセットアップをすると、Windows Azureで動作するMVCアプリケーション内のメンバーシップとロールがすべてSQL Azureに格納されます。

Picture

Windows Azure

MSDN Blogsをざっくりと日本語訳した投稿です。

Microsoft Visual Studio 2010用Windows Azure Toolsの2011年8月リリースについて発表できて、とっても嬉しいです。Web Platformインストーラーを使用して、ここからツールをダウンロードできます。

本リリースの新しい点

  • Windwos Azureで動作するアプリケーションのプロファイル
  • ASP.NET MVC3 Web Roleの作成
  • 一つのクラウドプロジェクトで複数のサービス設定の管理
  • Windows Azure パッケージの問題チェック機能の改善

Windwos Azureで動作するアプリケーションのプロファイル

Windows Azure Toolsが、プロファイリングをサポートしたことで、Windows Azureで動作するアプリケーションのパフォーマンスボトルネックを簡単に見つけることができるようになりました。

 

ASP.NET MVC3 Web Roleの作成

新しいToolsでMVC3 Web Roleの作成に対応しました。この新しいテンプレートは、SQL Azureに対応したユニバーサルASP.NETプロバイダーを含んでおり、Windows Azureに配置したときに、作成したアプリケーションとMVCアセンブリを配置します。

 

一つのクラウドプロジェクトで複数のサービス設定の管理

複数の配置環境ごとに、異なる設定を指定したい場合、Windows Azure Toolsは同じWindows Azure Projectで複数のサービス設定に対応しました。ローカルデバッグ、クラウド上での動作など、異なるWindows Azure Storageの接続文字列などを管理することができます。

 

Windows Azure パッケージの問題チェック機能の改善

最後に、新しいツールでは、Windows Azureにアプリケーションを配置する時に発生する、幾つかの共通的な問題を回避する手助けをします。パッケージにローカルアセンブリを含め忘れたり、ローカルAzure Storage接続文字列で配置しようとしたら、Toolsはあなたに知らせてくれます。

 

関連情報

さらに詳細を知りたい場合は、What’s New in the Windows Azure Toolsを参照してください。

このリリースに関連して、Windows Azure Platform トレーニングキットを新しいツール用にアップデートしました。Download Details – Microsoft Download Center – Windows Azure Platform Training Kitからダウンロードすることができます。

Windows Azure

Windows Azure用語集が、公開されています。
マイクロソフトの中の人によると、書籍やWeb記事執筆時に参照して用語統一するのに使用して欲しいようです。すでに英語用語で執筆した人が修正しやすいように、対比表の作成と五十音順に並べかえれるようにして欲しいとの意見がTwitterで散見されました。

ちょいっと、現実逃避も兼ねて作成しましたので、公開してみます。

image

http://sqlazure.jp/d/Glossary.xlsx

 

ちなみに、MSの人からクレームが来たら、平謝りして本件は無かったことにして削除します。

Windows Azure

Windows Azure Platform

ワンコインSSL

 

クラウディアバストトップクラウドサービスであるWindows Azureのメリットの1つは、ホスティング環境を15分少々で用意できちゃうこと。

何かキャンペーンをしたい!
イベント告知と募集ページを用意したい!
なーんて、ある程度必要な期間が限られている目的の場合は、クラウド便利ですよね!

イベント登録ページや情報の収集・表示・検索できるようなサイトを簡単に作りたいときは、LightSwitchがとてもお手軽。
ちょっとした情報登録ページなら、あっという間にできちゃいます。

Windows Azure

IT ProのためのWindows Azure Platform運用管理ガイド 1.0」という運用側面から書かれた膨大なドキュメントが公開されています。このドキュメントが、そのまま書籍化して出版されていてもおかしくない質と量を兼ね備えています。
コミュニティ(とMSエヴァ)の力が結集されて企画が始まってから、わずか半年で日の目を見ることになりました。

本ドキュメントは、TwitterでMSエヴァの安納さんの呼びかけに賛同した有志で執筆されており、ボランティアによって執筆されています。とてもすばらしい内容なので、ぜひご一読を。
蒼の王座からも情報提供で協力させていただき、自分は執筆していないのに執筆者に名前を連ねていただき、恐縮するしだいであります。