■[IT] Windows Azure ストレージエミュレータ起動不具合を解消
前回、Windows Azure ストレージエミュレータが起動しない記事を書きました。 → https://www.fxfrog.com/?p=5195
ついに不具合解消に至ったのでご報告します。
ついでに SQL Azure へ MVC モデルから利用する方法も。
—
Microsoft SQL Server 2008 R2 Express と関連パッケージを再インストールしました。
(アンインストールを行った後)
再インストール順序:
– Microsoft Security Essentials (アップデータがあったので、ついでに)
– Microsoft Visual Web Developer 2010 Express
– Microsoft SQL Server Compact 4.0 x64
– Microsoft SQL Server Compact 3.5 SP2 Query Tools
– Microsoft SQL Server 2008 R2 (Express Edition)
– Microsoft WebMatrix
– Microsoft SQL Server System CLR Types (x64)
– Microsoft Web Platform Installer 3.0 (WebPI 3.0)
– Microsoft SQL Server 2008 R2 Native Client
– Microsoft SQL Server 200r R2 Management Objects (x64)
↓
SQL Server 2008 R2 サービスダッシュボードレポートで状態確認します。
問題なさそうですね。
↓
では、Visual Studio 2010 Professional SP1 から、Windows Azure アプリをビルドし Windows Azure エミュレータ(ストレージ、コンピュータ)起動チェックしましょう。
↓
イニシャライゼーションが正常動作します。
↓
ストレージ・エミュレータの状態(動作中)、エンドポイント(ローカルホスト)情報の確認できました。
↓
ストレージが上がっているので、コンピュート・エミュレート(ここではシングルインスタンス)も問題なく。
↓
メモ:この時の、DevelopmentStorageDb20110816 BLOB オブジェクト実行の統計を参照すると
問題なく正常動作で統計出力に成功します。
===
MVC モデルの(ローカル・エミュレート)動作も問題なく。
よくあるフォーム認証でアカウントの新規作成。
↓
作成したアカウントでログイン
↓
ログイン成功
===
折角なので web.config 接続文字列も確認しましょう。
<connectionStrings> <add name="ApplicationServices" connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> <add name="DefaultConnection" connectionString="Data Source=.SQLEXPRESS;Initial Catalog=aspnet_0123456789ABCDEF0123456789ABCDEF;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> </connectionStrings>
ここでは、ローカルデバグ用 SQLExpress 環境なので接続文字列は 上記赤文字の通りです。
実際に Windows Azure へ接続する際には、 SQL Azure 管理画面で発行された ADO.NET 接続文字列を充てます。
↓
Windows AzurePlatform 管理ポータルの SQL Azure データベースホームから、接続文字列を確認したところ。
↓
では、アプリ側の web.config へ接続文字列を反映しましょう。
見やすく比較するため、もともとの項目をコメントアウトしています。
↓
では、ここでビルドを行いプロダクト(ステージング)・リリースします。
そして先ほど同様に、Webブラウザからユーザ登録を行います。
↓
MVC コントローラ内部のアカウント・コントローラが読み込まれ、ASPフォーム認証メンバシップとして、ユーザ登録が実施されます。
↓
本当に SQL Azure でも登録されているか確認します。
aspnetdb テーブル内 [dbo].[Users] として次のカラムが定義されました。
↓
インデックスとキーのリレーションを確認します。
↓
メンバ登録した情報がデータ格納されていることが確認できました。ここでは UserName “yukio” が該当します。
===
ざっと、振り返ると、
Windows Azure, SQL Azure 開発においてローカル・エミュレート環境が動作しないとアプリケーション開発はまったく何も出来ないということになります。
今後のために:(自己への戒めを込め)
開発案件を引き受ける際は、専用の開発環境を構築すること。
以上