Web サイト シリーズ: .NET および Visual Studio での Windows Azure Web サイト エクスペリエンス


このポストは、6 月 16 日に投稿された Web Sites Series: Windows Azure Web Sites Experience on .NET and Visual Studio の翻訳です。

このブログでは、既存の ASP.NET アプリケーションを Windows Azure Web サイトに発行する方法を説明します。ここで使用するデモアプリケーションは ASP.NET MVC 4 です。これは Entity Framework (EF) Code First を使用して、SQL Server に保管されているデータにアクセスします。またこのアプリケーションは、アプリケーションのスキーマの管理のために EF Code First Migrations (英語) も使用します。

Visual Studio を使って作成された Web アプリケーションは、Windows Azure Web サイトに簡単に発行できます。まずプレビュー版のポータルで自身の Web サイトを作成し、その後発行プロファイルをダウンロードします。ダウンロードするには、Web サイトの [quick glance] セクションにある [Download publish profile] リンクをクリックします (以下の画像を参照)。

アプリケーションを発行するには、この発行プロファイルを Visual Studio にインポートする必要があります。インポートするには対象の Web プロジェクトを右クリックして、[Publish] ボタンをクリックします。

発行のための新しいダイアログが開かれます。対象のプロジェクトを初めて発行する場合は、次のダイアログが開かれ、[Profile] タブが表示されます。

[Import] をクリックして、先ほどポータルからダウンロードした発行プロファイルを指定します。インポートが完了すると、自動的に [Connection] タブに進みます。このタブでは、発行の構成値が既に入力された状態になっています。

[Validate Connection] ボタンをクリックして、現在使用しているマシンが Windows Azure と通信できること、および次のステップに進む準備が整っていることを確認します。

[Next] をクリックすると [Settings] タブに進み、アプリケーションが使用するすべてのデータベースが表示されます。このアプリケーションは EF コンテキストである SqlImageContext を含んでおり、これが自動的に検出されます。各データベースについて、ドロップ ダウンから、アプリケーションが発行されたときに使用する接続文字列を選択できます (次の画像を参照)。

Code First を使用する場合、コンテキストが最初にアクセスされたときに移行が実行されるように構成する方法は 2 つあります。コード内で構成する方法と、web.config を使用する方法です。[Apply Code First migrations] チェックボックスをオンにすると、web.config ファイルが発行の際に変更され、コンテキストが最初にアクセスされたときに Code First Migrations が実行されるようになります (注: この操作では、プロジェクト内の元の web.config は変更されません。サーバーに配置される web.config のみが変更されます)。これで、最後のステップである [Preview] タブに進みます。

[Preview] タブでは、アプリケーションの発行時に実行される予定のすべてのファイル操作が簡単な一覧として表示されます。また、発行するように構成されているデータベースもすべて確認できます。[Preview] タブの実際の画面は、以下の画像のとおりです。

今回はこのアプリケーションの初めての発行であるため、一連のコンテンツ全体がサーバーに送信されます。今後の発行では、変更のみが送信されます。これで、アプリケーションを発行する準備が整いました。[Publish] ボタンをクリックしてください。

[Publish] ボタンをクリックした後は、出力ウィンドウで発行処理の進行状況を監視できます。発行処理が正常に完了すると、ブラウザーが自動的に開かれ、自身のサイトが表示されます。以上が、Web プロジェクトを Windows Azure Web サイトにすばやく発行する方法です。この処理の詳細については、チュートリアル: ASP.NET Web アプリケーションを Windows Azure Web サイトと SQL データベースに展開する (英語) を参照してください。

関連情報

 

Web サイトシリーズ

次の投稿を読む

Comments (0)

Skip to main content