Azure Storage Table with ASP.NET MVCのサンプル
せこせことASP.NET MVCでAzure Storage Tableを使うサンプルコードを作成し、Twitter上で「ほしい人は居るかなぁ?」発言をしたところ、思ったよりもほしい人が多そうなので公開してみます。稚拙なコードも有ると思いますが、突っ込みも希望。
サンプルの概要
簡単なCRUDアプリケーションの機能を提供しています。Twitter風に見えないこともありませんが、きっと気のせいです。Repositoryパターンは適用しましたが、Service層相当の物は作っていません。TransactionScope相当の処理も入れようと思いましたが、あえて入れてません(サンプルをシンプルにする為)。
- サンプルアプリケーションのURL
- サンプルアプリケーション実行の前提環境
- Visual Studio 2008 SP1
- ASP.NET MVC 2 Preview 異なるバージョンのASP.NET MVCをインストールしている場合、プロジェクトが読み込めません
- Windows Azure SDK インストールしていないと、そもそもWindows Azureで開発できないと思う・・・
- サンプルアプリケーションの機能
- 発言機能(Create)
- 発言一覧取得機能(Read)
- 発言内容修正機能(Update)
- 発言内容削除機能(Delete)
- サンプルアプリケーションのスクリーンショット
サンプルでの注意点1 ServiceConfiguration.cscfgを編集すること
以下の<>で囲まれた部分について、自身のWindows Azure上でのアカウント名、AccountSharedKeyを設定してください。
<?xml version="1.0"?> <ServiceConfiguration serviceName="CloudServiceTableMvc" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> <Role name="MvcTableApp"> <Instances count="1" /> <ConfigurationSettings > <Setting name="BlobStorageEndpoint" value="http://<アカウント名>.blob.core.windows.net/" /> <Setting name="QueueStorageEndpoint" value="http://<アカウント名>.queue.core.windows.net/" /> <Setting name="TableStorageEndpoint" value="http://<アカウント名>.table.core.windows.net/" /> <Setting name="AccountName" value="<アカウント名>" /> <Setting name="AccountSharedKey" value="<ポータルサイトに表示されるキー>" /> </ConfigurationSettings> </Role> </ServiceConfiguration>
サンプルでの注意点2 ASP.NET MVC 2 Previewに対応したDLLがローカルコピーになっているか確認すること
Windows Azure本番環境にアプリをデプロイした際に、本番環境に対応していないDLLを使用する処理を実行すると例外が発生する or Dr.Watosonとお会いする羽目になります。ASP.NET MVC 2 Previewを使用するためには、以下のDLLのローカルコピープロパティがTrueになっている必要があります。
- System.Web.Abstractions
- System.Web.Mvc
- System.Web.Routing