Share via


Visual Studio を使用したSQL Server Compactを使用した ASP.NET Web アプリケーションの展開: 概要 - 1/12

作成者: Tom Dykstra

スタート プロジェクトをダウンロードする

この一連のチュートリアルでは、Visual Studio 2012 RC または Visual Studio Express 2012 RC for Web を使用して、SQL Server Compact データベースを含む ASP.NET Web アプリケーション プロジェクトをデプロイ (発行) する方法について説明します。 Web 発行更新プログラムをインストールする場合は、Visual Studio 2010 を使用することもできます。

Visual Studio 2012 の RC リリース後に導入された展開機能を示すチュートリアルでは、SQL Server Compact以外のSQL Serverエディションを展開する方法と、Azure App Service Web Appsに展開する方法については、「Visual Studio を使用した Web 配置の ASP.NET」を参照してください。

これらのチュートリアルでは、まずテスト用のローカル開発コンピューターの IIS に展開し、次にサードパーティのホスティング プロバイダーに展開する方法について説明します。 デプロイするアプリケーションでは、アプリケーション データベースと ASP.NET メンバーシップ データベースが使用されます。 SQL Server Compactの使用とSQL Server Compactへのデプロイから始めます。以降のチュートリアルでは、データベースの変更をデプロイする方法と、SQL Serverに移行する方法について説明します。

このチュートリアルでは、Visual Studio で ASP.NET を操作する方法を把握していることを前提としています。 そうでない場合は、基本的な ASP.NET Web Formsチュートリアルまたは基本的な ASP.NETMVC チュートリアルを開始することをお勧めします。

チュートリアルに直接関連しない質問がある場合は、 ASP.NET 展開フォーラムに投稿できます。

概要

これらのチュートリアルでは、まずテスト用のローカル開発コンピューターの IIS に展開し、次にサードパーティのホスティング プロバイダーに展開する方法について説明します。 デプロイするアプリケーションでは、アプリケーション データベースと ASP.NET メンバーシップ データベースが使用されます。 SQL Server Compactの使用とSQL Server Compactへのデプロイから始めます。以降のチュートリアルでは、データベースの変更をデプロイする方法と、SQL Serverに移行する方法について説明します。

チュートリアルの数 (全部で 11 個にトラブルシューティング ページを加えたもの) により、デプロイ プロセスが困難に見える場合があります。 実際、サイトを展開するための基本的な手順は、チュートリアル セットの比較的小さな部分を構成します。 ただし、実際の状況では、多くの場合、展開の小さいものの重要な追加の側面 (たとえば、ターゲット サーバーでのフォルダーのアクセス許可の設定) に関する情報が必要になります。 これらの追加の手法の多くをチュートリアルに含め、実際のアプリケーションを正常にデプロイできない可能性のある情報をチュートリアルから除外しないことを願っています。

チュートリアルは順番に実行するように設計されており、各パートは前のパートに基づいて構築されています。 ただし、状況に関連しない部分はスキップできます。 (パートをスキップするには、後のチュートリアルで手順を調整する必要がある場合があります)。

対象読者

このチュートリアルは、小規模な組織やその他の環境で作業する開発者 ASP.NET を対象としています。

  • 継続的インテグレーション プロセス (自動ビルドとデプロイ) は使用されません。
  • 運用環境は、サードパーティのホスティング プロバイダーです。
  • 通常、1 人のユーザーが複数のロール (同じユーザーが開発、テスト、デプロイ) を行います。

エンタープライズ環境では、継続的インテグレーション プロセスを実装する方が一般的であり、運用環境は通常、会社独自のサーバーによってホストされます。 また、通常、異なるユーザーが異なる役割を果たします。 エンタープライズ展開の詳細については、「 エンタープライズ シナリオでの Web アプリケーションの展開」を参照してください。

あらゆる規模の組織は、Web アプリケーションを Azure にデプロイすることもできます。これらのチュートリアルに示されている手順のほとんどは、Azure アプリ Services Web Appsにも適用されます。 Azure の概要については、「」を参照してください https://azure.microsoft.com

チュートリアルに示されているホスティング プロバイダー

このチュートリアルでは、ホスティング会社とのアカウントを設定し、そのホスティング プロバイダーにアプリケーションをデプロイするプロセスについて説明します。 チュートリアルでライブ Web サイトにデプロイする完全なエクスペリエンスを示すために、特定のホスティング会社が選択されました。 ホスティング会社ごとに異なる機能が用意されており、サーバーに展開するエクスペリエンスは多少異なります。ただし、このチュートリアルで説明するプロセスは、プロセス全体で一般的です。

このチュートリアルで使用されるホスティング プロバイダー (Cytanium.com) は、使用可能な多くのプロバイダーの 1 つであり、このチュートリアルでの使用は、保証や推奨事項を構成するものではありません。

Web サイト プロジェクトの展開

Contoso University は Visual Studio Web アプリケーション プロジェクトです。 このチュートリアルで説明する展開方法とツールのほとんどは 、Web サイト プロジェクトには適用されません。 Web サイト プロジェクトを展開する方法については、「ASP.NET 展開コンテンツ マップ」を参照してください。

ASP.NET MVC プロジェクトの配置

このチュートリアルでは、ASP.NET Web Forms プロジェクトをデプロイしますが、実行する方法はすべて、ASP.NET MVC にも適用できます。 Visual Studio MVC プロジェクトは、Web アプリケーション プロジェクトのもう 1 つの形式にすぎません。 唯一の違いは、ASP.NET MVC またはそのターゲット バージョンをサポートしていないホスティング プロバイダーにデプロイする場合は、プロジェクトに適切な (MVC 3 または MVC 4) NuGet パッケージがインストールされていることを確認する必要があるということです。

プログラミング言語

サンプル アプリケーションでは C# を使用しますが、チュートリアルでは C# の知識は必要ありません。また、チュートリアルで示されているデプロイ手法は言語固有ではありません。

このチュートリアル中のトラブルシューティング

展開中にエラーが発生した場合、または展開されたサイトが正しく実行されない場合、エラー メッセージは常に解決策を提供するとは限りません。 一般的な問題のシナリオを解決するために、 トラブルシューティングのリファレンス ページ を利用できます。 チュートリアルを実行するときにエラー メッセージが表示されたり、何かが機能しない場合は、トラブルシューティング ページを必ずチェックしてください。

コメントへようこそ

チュートリアルに関するコメントは歓迎され、チュートリアルが更新されると、チュートリアルのコメントで提供される改善のための修正や提案を考慮に入れてすべての努力が行われます。

必須コンポーネント

開始する前に、Windows 7 以降と次のいずれかの製品がコンピューターにインストールされていることを確認します。

Visual Studio 2010 SP1 または Visual Web Developer Express 2010 SP1 がある場合は、次の製品もインストールします。

チュートリアルを完了するには他のソフトウェアが必要ですが、まだ読み込む必要はありません。 このチュートリアルでは、必要なときにインストールする手順について説明します。

サンプル アプリケーションのダウンロード

展開するアプリケーションは Contoso University という名前で、既に作成されています。 これは、ASP.NET サイトの Entity Framework チュートリアルで説明されている Contoso University アプリケーションに大まかに基づく、大学の Web サイトの簡略化されたバージョンです。

前提条件がインストールされたら、 Contoso University Web アプリケーションをダウンロードします。 .zip ファイルには、プロジェクトの複数のバージョンと、12 個のチュートリアルをすべて含む PDF ファイルが含まれています。 チュートリアルの手順を実行するには、ContosoUniversity-Begin から始めます。 チュートリアルの最後にあるプロジェクトの外観を確認するには、ContosoUniversity-End を開きます。 チュートリアル 10 で完全なSQL Serverに移行する前のプロジェクトの外観を確認するには、ContosoUniversity-AfterTutorial09 を開きます。

チュートリアルの手順を実行する準備をするには、Visual Studio プロジェクトの操作に使用するフォルダーにContosoUniversity-Beginを保存します。 既定では、これは次のフォルダーです。

C:\Users\<username>\Documents\Visual Studio 2012\Projects

(このチュートリアルのスクリーン ショットでは、プロジェクト フォルダーは ドライブのルート ディレクトリにあります C)。

Visual Studio を起動し、プロジェクトを開き、Ctrl キーを押しながら F5 キーを押して実行します。

Home_page

Web サイト ページにはメニュー バーからアクセスでき、次の機能を実行できます。

  • 学生の統計情報を表示します ([バージョン情報] ページ)。
  • 学生の表示、編集、削除、追加を行います。
  • コースを表示および編集します。
  • 講師を表示および編集します。
  • 部署を表示および編集します。

いくつかの代表的なページのスクリーン ショットを次に示します。

Students_Page

Add_Students_Page

デプロイに影響を与えるアプリケーション機能の確認

アプリケーションの次の機能は、アプリケーションのデプロイ方法、またはデプロイに必要な処理に影響します。 これらのそれぞれについて、シリーズの次のチュートリアルで詳しく説明します。

  • Contoso University では、SQL Server Compact データベースを使用して、学生や講師の名前などのアプリケーション データを格納します。 データベースにはテスト データと運用データの組み合わせが含まれており、運用環境にデプロイする場合は、テスト データを除外する必要があります。 チュートリアル シリーズの後半では、SQL Server CompactからSQL Serverに移行します。
  • アプリケーションでは、SQL Server Compact データベースにユーザー アカウント情報を格納する ASP.NET メンバーシップ システムを使用します。 アプリケーションは、制限された情報にアクセスできる管理者ユーザーを定義します。 テスト アカウントを使用せずに、1 つの管理者アカウントを使用してメンバーシップ データベースをデプロイする必要があります。
  • アプリケーション データベースとメンバーシップ データベースはデータベース エンジンとしてSQL Server Compactを使用するため、ホスティング プロバイダーとデータベース自体にデータベース エンジンをデプロイする必要があります。
  • アプリケーションは、ASP.NET ユニバーサル メンバーシップ プロバイダーを使用して、メンバーシップ システムがそのデータをSQL Server Compact データベースに格納できるようにします。 ユニバーサル メンバーシップ プロバイダーを含むアセンブリは、アプリケーションと共に展開する必要があります。
  • アプリケーションは Entity Framework 5.0 を使用して、アプリケーション データベース内のデータにアクセスします。 Entity Framework 5.0 を含むアセンブリは、アプリケーションと共にデプロイする必要があります。
  • アプリケーションでは、サードパーティのエラー ログとレポート ユーティリティを使用します。 このユーティリティは、アプリケーションと共に配置する必要があるアセンブリで提供されます。
  • エラー ログ ユーティリティは、XML ファイル内のエラー情報をファイル フォルダーに書き込みます。 展開されたサイトで実行 ASP.NET アカウントに、このフォルダーへの書き込みアクセス許可があることを確認する必要があり、このフォルダーを展開から除外する必要があります。 (そうしないと、テスト環境のエラー ログ データが運用環境にデプロイされたり、運用エラー ログ ファイルが削除されたりする可能性があります)。
  • アプリケーションには、展開先の環境 (テストまたは運用環境) に応じてデプロイされた Web.config ファイルで変更する必要がある設定と、ビルド構成 (デバッグまたはリリース) に応じて変更する必要があるその他の設定が含まれています。
  • Visual Studio ソリューションには、クラス ライブラリ プロジェクトが含まれています。 プロジェクト自体ではなく、このプロジェクトによって生成されるアセンブリのみを配置する必要があります。

このシリーズの最初のチュートリアルでは、サンプルの Visual Studio プロジェクトをダウンロードし、アプリケーションの展開方法に影響を与えるサイト機能を確認しました。 次のチュートリアルでは、これらの処理の一部を自動的に設定して、デプロイの準備をします。 手動で管理する他のユーザー。