次の方法で共有


ASP.NET Web ページ

WebMatrix の概要

Clark Sell

コード サンプルのダウンロード

現在の Web 開発者向け市場には、足りないツールはありません。実際には、開発者の皆さんは既にほとんどの時間を Visual Studio と共にすごされているのではないでしょうか。Microsoft WebMatrix について耳にされたことがある方も、WebMatrix とはどのようなツールで、どのような存在意義があり、もしかしたらどうして自分が気にしなければならないのかと疑問に思っているかもしれません。

今回は、こうした疑問の答えを探します。はじめに、ASP.NET スタックに最近加えられた変更をいくつか紹介します。次に、WebMatrix のセットアップ方法と、"Hello Web" アプリケーションの作成方法について説明します。最後に、レイアウト、ヘルパー、データ アクセス、レポート、(当然) 配置など、いくつかの特徴的機能について詳しく紹介します。では、説明の前に、WebMatrix について定義しましょう。

WebMatrix とは、ASP.NET Web ページ向けの新しい一体型 Web サイト エディターです。WebMatrix は Web 開発者と ASP.NET を対象にしていますが、いずれの場合もマイクロソフト製品が通常対象とするものとは異なります。WebMatrix は Visual Studio の競合製品ではありません。むしろ、2 つの製品機能は部分的に重なり合い、相互に補完する関係にあります。

WebMatrix のインストールは、短時間で簡単に完了することがわかります。これは、パッケージ全体とその依存関係ファイルのサイズが 50 MB 未満のためです。パッケージには、テキスト エディター、Web サーバー、データベース エンジン、および基盤となるフレームワークが含まれているため、Web サイトの作成と配置に必要なものは基本的にすべて含まれています。WebMatrix の対象が ASP.NET に限定されないことに驚くかもしれません。WebMatrix は、PHP も MySQL もサポートします。今回は、特に WebMatrix の .NET 機能に注目します。

新しい ASP.NET スタック

ここ数年の間に、ASP.NET スタックにはちょっとした変化がありました。2009 年 4 月に、ASP.NET での Web アプリケーション開発用の新しい選択肢として、ASP.NET MVC がリリースされました。モデル - ビュー - コントローラー (MVC: Model-View-Controller) パターン自体は目新しいものではありませんでしたが、ASP.NET の上位に実装されたことが新鮮でした。しかも、Web フォームと MVC の両方が同じサイトで申し分なく調和して共存できます。

ASP.NET に MVC を適切に導入するため、LEGO ブロックのように、パーツをどのように選んでも簡単にかみ合うよう、フレームワークのリファクタリングが少しずつ進められてきました。話を一気に現在まで進めると、マイクロソフトは ASP.NET MVC 3 と WebMatrix をリリースしたばかりです。どちらも多数の新機能と機能強化を含む、メジャー リリースです。注目に値するフレームワークの新機能は、Razor のパーサーとビュー エンジン (略称、Razor)、ASP.NET Web ページ、および IIS Express です。図 1 は、ASP.NET フレームワークの関連要素すべての関係を示しています。

image: The Web Stack

図 1 Web スタック

図 1 からおわかりのように、Razor、IIS Express、SQL Compact、および Web 配置は ASP.NET Web 開発のどの分野でも有効な選択肢です。さらに、ASP.NET MVC 3 のリリースにより、Razor が既定のビュー エンジンになります。この Razor については、後で詳しく説明します。

一方、ASP.NET Web ページは、Web フォームや MVC と対等な要素として導入されています。Web ページ モデルはページ中心の実行モデルで、PHP に似ています。マークアップとコードがページ自体に含まれ、ヘルパーを使用してコードが簡潔に保たれています。これらのページは、Razor を使用して Visual Basic または C# で作成できます。

使い始める

WebMatrix には簡単に着手できます。インストールには、Microsoft Web Platform Installer (略称、Web PI) 3.0 を使用します。これは、SQL Express や ASP.NET MVC のインストール作業などを容易にするクライアント側プログラムです。Web PI の詳細については、microsoft.com/web/downloads/platform.aspx を参照してください。Web PI を迅速にインストールするには、web.ms/webmatrixを参照して、[今すぐダウンロード] をクリックします。このボタンをクリックすると、Web PI がインストールされるだけでなく、WebMatrix もインストールされます。インストールが完了すると、次のプログラムがインストールされています。

  • Microsoft WebMatrix (エディター)
  • Razor 構文を使用する ASP.NET Web ページ (エンジンとフレームワーク)
  • SQL Compact (データベース)
  • IIS Express (配置 Web サーバー)

先ほど、WebMatrix では PHP 開発もサポートすると述べました。このパッケージには PHP 開発のサポートが組み込まれていますが、PHP サイトをゼロから作成する場合は、PHP ランタイムをインストールする必要があります。

Hello World ではなく Hello Web

あらゆる技術書籍に掲載されている昔ながらの "Hello World" サンプルにならって、WebMatrix では "Hello Web" サイトを作成します。WebMatrix を最初に起動すると、4 つのオプションを選択できるダイアログ ボックスが表示されます。各オプションは、次のような異なる出発点を表しています。

  • 個人用サイト
  • フォルダーからサイトを作成する
  • テンプレートからサイトを作成する
  • Web ギャラリーからサイトを作成する

[個人用サイト] には、以前に操作したことがあるサイトが含まれています。[フォルダーからサイトを作成する] をクリックすると、任意のフォルダーがサイトのルートとして開きます。そのフォルダーに含めたすべての項目が、サイト資産として表示されます。任意のフォルダーを右クリックして [Open as a Web Site with Microsoft WebMatrix] (Microsoft WebMatrix で Web サイトとして開く) をクリックしても、[フォルダーからサイトを作成する] をクリックした場合と同様に機能します。

WebMatrix には、事前にビルド済みの Web テンプレートが多数付属しており、すぐにサイトの作成に着手できます。[テンプレートからサイトを作成する] をクリックすると、そのテンプレートに基づいて、サイト作成に必要なすべてのソース コードが備わったフォルダー構造がセットアップされます。この記事の執筆時点では、空のサイト、スターター サイト、ベーカリー、フォト ギャラリー、およびカレンダーの 5 種類のテンプレートがありました。今後、他のテンプレートも追加される予定です。

おそらく最も興味深いのは、[Web ギャラリーからサイトを作成する] でしょう。何年も前から、開発者は Web PI を使用して Umbraco や WordPress などのアプリケーションをダウンロードし、自由にカスタマイズしてホスティング プロバイダーに配置できました。残念ながら、実際には、統合されたエンド ツー エンドの機能がありませんでした。WebMatrix では、Umbraco などの既存のアプリケーションを使用して開発を開始できるようになります。WebMatrix と Web PI により、ギャラリーに一覧されたアプリケーションのいずれかに基づいて、サイトの開始に必要なすべてのプログラムがセットアップされます。WebMatrix でのセットアップが完了したら、必要に応じてカスタマイズし、WebMatrix の配置機能を使用してホスティング プロバイダーに配置できます。

Hello Web デモを作成するには、まず WebMatrix を起動して [テンプレートからサイトを作成する] をクリックします。[空のサイト] テンプレートをクリックし、サイトに名前 (この場合は「HelloWeb」) を付けます。WebMatrix により、指定の名前で空のフォルダーが作成されます。次に、[ファイル] タブをクリックし、表示されるメイン ウィンドウで [ファイルの新規作成] をクリックします。最初に注目するのは、新しいファイル拡張子です。ASP.NET Web ページには、CSHTML と VBHTML という 2 つの新しいファイル形式があります。拡張子の最初の 2 文字は、Razor のパーサーでコードの解析に使用する言語 (それぞれ C# と Visual Basic) を示しています。ここでは CSHTML ファイルを選択して、「HelloWeb.cshtml」という名前を付けます。ファイルを作成すると、既定の HTML があらかじめ設定されたファイルが自動的に開きます。

既存の body 要素に「Hello Web」というテキストを追加すれば、Hello Web の完成です。WebMatrix では、インストールされている Web ブラウザーがすべて自動的に検出されます。ボタンを 1 回クリックするだけで、いずれかまたはすべてのブラウザーでサイトを実行できます。リボンの [実行] をクリックすると、既定のブラウザーが開き、選択しているページがレンダリングされます。もちろん、Hello Web の場合は、"Hello Web" というテキストが表示されます。

Razor でコーディングする

既に述べたように、Razor はコードとマークアップのテンプレート作成エンジンです。つまり、後で解釈されて要求元に送信される構文を記述します。今回の単純な Web ページの HTML に @DateTime.Now メソッドを呼び出す簡単なコードを追加する例を次に示します。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
     <title>Hello World</title>
  </head>
  <body>
    Hello Web it's @DateTime.Now
  </body>
</html>

このコードでは、.NET の System.DateTime クラスの Now メソッドを呼び出します。このコードを実行すると、図 2 のようなページがレンダリングされます。

image: Hello Web in the Browser

図 2 ブラウザーでの Hello Web

もう少し複雑な処理も実行できます。プロパティをいくつか作成し、ループを実行して、HTML を混在させ、すべてを組み合わせておもしろいページにしましょう。図 3 がそのコードです。簡潔にするために一部の有効な HTML を省略しています。図 4 にはレンダリング結果を示します。

図 3 CodingRazor.cshtml

@{
  var cars = new string [] { "Camaro", "Avalanche", "Honda"};
  var emailAddress = "cars@something.com";
}
 
<ul>
  @foreach ( var car in cars ) {
    <li>
      <a href="http://@(@car).something.com">@car</a>
            
      @if ( car == "Camaro" ) {
        @: Is my favorite!  
        }
    </li>
  }
</ul>

To comment on this list of cars e-mail us at @emailAddress.

image: The Cars Code Rendered in a Browser

図 4 ブラウザーにレンダリングされた車のコード

図 3 に示したコードの一部を詳しく見てみましょう。まず、"http://@(@car).something.com" というハイパーリンクに注目します。"@(@car)" というテキストがあり、ここでは、@car が URL に埋め込まれているため、変数であることを Razor に明示する必要があります。次は、"@:" で定義されたコンテンツ ブロックに注目します。ループ内には、"Is my favorite!" というテキスト コンテンツを含む If ステートメントがあります。"@:" を削除すると、テキスト コンテンツが HTML でラップされなくなるため、Razor はコンパイルを行いません。最後に、末尾で @emailAddress を呼び出していますが、文末にピリオドがあります。Razor は、@emailAddress が変数であってクラスではないことを認識できます。すばらしいのはそれだけではありません。このページのソースを確認すると、次のような純粋な HTML がブラウザーにレンダリングされたことがわかります。

<ul>
  <li><a href="http://Camaro.something.com">Camaro</a> Is my favorite! </li>
  <li><a href="http://Avalanche.something.com">Avalanche</a> </li>
  <li><a href="http://Honda.something.com">Honda</a> </li>
</ul>

To comment on this list of cars e-mail us at cars@something.com

レイアウト

Razor では、サイトのコンテンツを再利用可能な方法で構造化する新しい方法が導入されます。ASP.NET Web フォームのマスター ページ手法に詳しい方のために説明すると、Razor はレイアウトを使用して同じ機能実現しますが、アプローチは異なります。話はそれますが、レイアウトのこの 2 つのアプローチは連携しないことに注意してください。つまり、マスター ページを Razor のレイアウト エンジンとして使用することも、その逆も不可能です。

レイアウトを使うには、まずアンダースコアで始まるページ (_MasterLayout.cshtml など) を作成します。アンダースコアで始まるページはブラウザーには直接レンダリングされません。そのため、他のパブリック ページから参照する必要があります。アンダースコアで始まるページは、ある意味では、"internal" とマークされたアセンブリ内のクラスに似ています。このページでは、ダウンストリーム参照によって、ページの各部分を挿入する方法と場所を構造化します。構造化に役立つ主なクラスは、RenderSection、RenderPage、および RenderBody の 3 つです。図 5 に、3 つのクラスすべてを使用したシンプルなマスター レイアウト ページを示します。

図 5 RenderSection クラス、RenderPage クラス、および RenderBody クラス

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title></title>
    @RenderSection("ClientScripts", required: false)
  </head>
  <body>
    @RenderPage("~/layout/shared/_header.cshtml")
    @RenderBody()
    @RenderPage("~/layout/shared/_footer.cshtml")
  </body>
</html>

このマスター ページは、定義済みのレイアウトを継承する子ページから参照する必要があります。ご覧のとおり、1 行目は次のようになります。

@{ Layout = "~/layout/shared/_MasterLayout.cshtml"; }
    
@section ClientScripts {
  Custom Script Here </br>
}
 
Some body content

この例のレイアウト ページでは、ページの head セクションに省略可能なセクション (@RenderSection) を定義しています。このセクションは省略可能なので、子ページでは必要に応じてセクションを実装できます。セクションを実装するには、"@section" に続けて "@RenderSection" 呼び出しで指定した名前を使用します。ページの以降の部分 (この例の場合) は、コンテンツと見なされます。このコンテンツは、"@RenderBody" によって使用されます。詳細な例については、この記事付属のオンラインのソース コードを参照してください。

default.cshtml (ソース コードのダウンロードに含まれている layout フォルダー内) を実行すると、図 6 のような出力が生成されます。すべてのセクションが正しくレンダリングされ、純粋な HTML としてブラウザーに出力されます。

図 6 default.cshtml を実行した結果の出力

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title></title>
  Custom Script Here </br>
</head>
<body>
  <p>this was rendered from ~/layout/shared/_header.cshtml</p>
  Some body content
  <p>this was rendered from ~/layout/shared/_footer.cshtml</p>
</body>
</html>

ヘルパー

ソフトウェア業界でいつも耳にするのが "再利用" です。WebMatrix では、WordPress や jQuery で使用されているプラグイン モデルと同様の概念を導入しています。WebMatrix の場合、このようなプラグインをヘルパーと呼びます。概念はプラグインと同じです。つまり、ヘルパーとは再利用可能な機能の発行済みパッケージや小さな .NET コードであり、簡単に配布して使用できるようビルドされ、パッケージ化されています。ヘルパー パッケージ自体は、単なる NuGet パッケージです (nuget.codeplex.com、英語)。ヘルパーをビルドして使用する .NET 開発者は、標準の .NET クラスを使用するのとまったく同じだと感じるでしょうが、本当に標準の .NET クラスなのです。

ヘルパーは、クラウド ベースの NuGet フィードに保存および取得します。このようなわかりにくいヘルパーを見つけるには、どうすればよいでしょう。まず、WebMatrix でサイトを開いてから、[実行] をクリックします。ブラウザーで、たとえば http://localhost:53655/default.cshtml というアドレスでサイトが開きます。続いて、この例の場合は http://localhost:53655/_admin を参照します。このページだけはアンダースコアで始まっていてもレンダリングされ、ローカル コンピューター上に存在します。このページにアクセスしようとするとパスワードの作成を求めるメッセージが表示され、パスワードを作成すると、パッケージ マネージャーが表示されます (図 7 参照)。

image: ASP.NET Web Pages Administration Package Manager

図 7 ASP.NET Web ページの管理 - パッケージ マネージャー

ヘルパーは、"インストール済み"、"オンライン"、および "更新プログラム" の 3 つのカテゴリに分けて表示されます。ヘルパーを提供しているソースごとに表示することもできます。このソースは、NuGet フィードです。既定のフィードは WebMatrix ヘルパーの公式ディレクトリですが、他のソースも追加できます。

パッケージの一覧が表示されたので、パッケージをインストールしてみましょう。説明のために、ここでは Url Shortener Helper というヘルパーをインストールして調べてみましょう (UrlShortenerHelper.CodePlex.com、英語)。これは、bit.ly (英語) などのプロバイダーを使用する、URL の短縮に役立つよう作成したヘルパーです。このヘルパーの概念は単純で、URL を指定して短縮し、短縮用に選択したプロバイダーとの対話を隠ぺいします。では、カテゴリを "オンライン" に切り替えて、UrlShortener の [インストール] ボタンをクリックしましょう。ボタンをクリックすると、ヘルパーがダウンロードされ、サイトにインストールおよび構成されます。

現在、ヘルパーの作成方法には、Razor で直接作成する方法とコンパイルされるアセンブリ内に作成する方法の 2 とおりがあります。選択する方法は、もちろん、場合によって異なります。Url Shortener の場合、コードでは外部のプロバイダー API と対話するだけで、HTML はまったく生成しません。したがって、今回のシナリオでは、ヘルパーをアセンブリ内にパッケージ化する方が適しています。一方、Facebook ヘルパーの場合は大量のマークアップを生成するため、CSHTML ヘルパーとして作成しています。API 呼び出しをラップしてマークアップを生成する必要があるヘルパーの場合は、両方の方法で作成できる (つまり Razor とアセンブリの両方の機能を備えた) ハイブリッド方式も採用できます。

この例は、UserVoiceHelper (UserVoiceHelper.codeplex.com、英語) にあります。

作業中のサイトを確認すると、新しい資産がいくつか追加されているのがわかります。サイトのルートには、2 つの新しいアセンブリが含まれた /bin フォルダーが存在します。これは、NuGet でパッケージをインストールしたためです。また、ルートにはヘルパーの使い方に関する指示が記載された ReadMe.UrlShortener.txt ファイルもあります。Facebook ヘルパーなどの他のヘルパーでは、独自のフォルダーとコードが App_Code フォルダーに追加されます。

データ

データ ストアを使用しないで Web サイトを運用することはかなり困難です。WebMatrix には、新しいバージョンの SQL Server Compact Edition 4 (SQL Compact) が付属しています。これは無償の埋め込み型データベース エンジンで、インストールや xcopy による配置はサポートされていません。SQL Compact は SQL Server 自体のバージョンの 1 つなので、いつでもごく簡単な手続きで上位バージョンの SQL Server にアップグレードできます。WebMatrix には、SQL Compact データベースから SQL Server にアップグレードできるツールも付属しています。

WebMatrix では、データベースのニーズために組み込みのエディター サポートがあります。テーブル作成からデータ作成まで、すべての作業を WebMatrix で快適に実行できます。データベースと必要なすべての資産を作成したら、作成したすべての項目が SDF という拡張子のデータベース ファイルに含まれます。図 8 は、単純なデータ アクセスの呼び出しです。

図 8 データをクエリする Cars.cshtml

@{ 
  var db = Database.Open("Cars");
  var selectQueryString = "SELECT * FROM Models ORDER BY Year";
}
<!DOCTYPE html>
<html lang="en">
  ... 
    <tbody>
      @foreach (var row in db.Query(selectQueryString))
      {
        <tr>
          <td>@row.Year</td>
          <td>@row.Maker</td>
          <td>@row.Model</td>
        </tr>
      }
    </tbody>
  ...
</html>

まず、Cars データベースを開いてから、foreach ループ内でこの接続をクエリします。ループ内では、行ごとに結果を表示します。ページをレンダリングしてからページのソースを確認すると、この場合も純粋な HTML が生成されていることがわかります。簡潔にするためにこの例の一部を省略しましたが、オンラインのソース コードに含まれている DataAccess.cshtml ファイルで確認できます。

サイトを運用する

Web サイトは、サイトを運用するテクノロジがなければ基本的に役に立ちません。Windows プラットフォームの場合、これまでこのテクノロジはいつも IIS でした。IIS の詳細については、iis.net (英語) を参照してください。IIS は、従来は Windows OS の一機能として、ホスティング プロバイダーや IT プロフェッショナルが構成して使用する機能でした。Windows を基盤とする Web 開発者は、一般に IIS や組み込みの Visual Studio Web サーバー (Cassini) を使用しています。WebMatrix と Visual Studio 2010 SP1 のリリースにより、開発者は IIS Express も使用できるようになりました。IIS Express は、両者の長所、つまり IIS の威力と Cassini の簡潔さを併せ持っています。

IIS Express は既定で WebMatrix と共にインストールされますが、WebPI で別途ダウンロードすることもできます。完全版の IIS とは異なり、IIS Express は他のユーザー モードのプログラムと同様にインストールされ、インストール先は C:\Program Files (x86)\IIS Express です。IIS Express は iisexpress.exe と iisexpresstray.exe の 2 つのプログラムで構成されています。1 つ目は実際の IIS Express で、iisexpresstray は Windows のシステム通知領域で実行されるビジュアル トレイです。

IIS Express を起動するには、通常はコマンド ライン (cmd.exe) を使用します。パス、ポート、名前、フレームワークのバージョンなど、多数のオプションを渡すことができます。コマンドをすべて表示するには、「iisexpress.exe /?」と入力します。WebMatrix の外部で新しい WebMatrix サイトの Web サーバーを起動する場合は、次のように入力するだけです。

> iisexpress.exe /path:"c:\MySite" /port:81

入力後に任意のインターネット ブラウザーを起動して http://localhost:81 を参照すると、C:\MySite にあるサイトが実行されます。

WebMatrix では、このような作業全体が隠ぺいされていますが、お望みならば同じ威力を発揮できます。[実行] をクリックすると、WebMatrix によって IIS Express がシステム トレイで起動し、すべて自動的に構成されます。WebMatrix を終了すると、IIS Express も終了します。

検索の関連性

検索の関連性は、かつてないほど重要になっています。Bing や Google で関連性が認識されるのを待つだけでは不十分です。関連性の追求に役立つよう、WebMatrix には Search Engine Optimization (SEO) というレポート機能があります。

WebMatrix の左下隅にある [レポート] タブをクリックすると、新しい SEO レポートを作成する機能が表示されます。レポートの作成中に、WebMatrix ではサイトをクロールして、サイトと検索エンジンの関連性を高められる見込みがある領域を探します。WebMatrix でサイトのクロールが完了すると、違反とその解決方法に関する推奨事項の詳細な一覧が表示されます。この記事のデモ コードに対して実行した SEO レポートのサンプルについては、図 9 を参照してください。

image: SEO Reporting

図 9 SEO レポート

配置する

ここまで、サイトを洗練するために数え切れないほどの時間を費やしてきました。では、サイトを配置することにしましょう。WebMatrix では、構成と配置というたった 2 つの手順でサイトを配置できます。WebMatrix のリボンには、[発行] ボタンがあります。配置設定の構成は、もちろんホスティング プロバイダーとそのホスティング プロバイダーが提供している機能によって異なります。図 10 は、[発行の設定] ダイアログ ボックスを示しています。WebMatrix では、既定で FTP と Web 配置の両方をサポートしています。適切な設定を選択し、[発行] をクリックします。

image: Publishing Settings

図 10 [発行の設定]

ご利用のホスティング プロバイダーがない場合は、[Web ホスティングの検索] をクリックします。クリックすると、asp.net/webmatrix/hosts に移動し、構成済みで WebMatrix と連携すると認定済みのホスティング プロバイダーを選択できます。サイトを既に公開している場合にも、WebMatrix は対応しています。同じ [発行] メニューには、[発行済みサイトのダウンロード] があります。これは、配置とは逆の機能です。配置用に構成したのと同じ設定で動作します。発行の設定を構成したら、現在のサイトをローカルにダウンロードして編集できるようになります。編集が完了したら、再配置するだけです。

拡張する

フレームワークを選択する場合、ニーズと複雑さの増加に合わせて拡張できるとすばらしいですね。長年、ASP.NET ではこのような拡張に対応できるよう、LEGO ブロックのようなパーツをビルドしてきました。現在、このようなパーツはバケツにいっぱいたまっていて、ニーズに応じて組み合わせることができます。図 1 は、各パーツが ASP.NET 上、さらに .NET 上に構築されているようすを示しました。このため、WebMatrix アプリケーションを選択してから Visual Studio に移行することも実際に可能です。ボタンを 1 つクリックするだけで移行できます。

WebMatrix のリボンをよく見ると、右上隅に Visual Studio で開くためのボタンがあります。このボタンをクリックすると、Visual Studio でサイトが ASP.NET Web サイト プロジェクトとして開きます。しかし、移行できるのは中核となる Web サイトだけにとどまりません。データベースがサイトに含まれている場合もあります。この場合、任意の SQL Compact データベースを上位の SQL Server に移行できます。WebMatrix では、[SQL Server] の [移行] ボタンを使用して、データベースを移行できます。

まとめると、WebMatrix は、万人向けのツールとなるよう設計され、Visual Studio を適切に補完します。WebMatrix の利用方法は目的の作業によって異なりますが、どの場合でも皆さんの役に立つはずです。使用する ASP.NET のパーツをシームレスに選択でき、Visual Studio や SQL Server にもシームレスに移行できます。ヘルパーと新しいレイアウト サブシステムの登場により、再利用が現実的になりました。サイトをゼロから作成することが魅力的に思えない場合は、WebMatrix を使用すれば、Web PI に一覧されている Umbraco や WordPress などの実績あるアプリケーションに基づいてサイトを作成し、ホスティング サーバーに直接配置できます。

残念ながら、キャッシュ、ルーティング、デバッグなど、今回紹介できなかった機能が多数あります。ここで使用したリンクはすべて、bit.ly/IntroToWebMatrix (英語) にまとめています。

Clark Sell は、シカゴ郊外でマイクロソフトのシニア開発者エバンジェリストとして活躍しています。彼のブログは csell.net (英語) で、ポッドキャストは DeveloperSmackdown.com (英語) で公開されており、twitter.com/csell5 (英語) でフォローすることができます。

この記事のレビューに協力してくれた技術スタッフの Erik PorterMark Nichols、および Brandon Satrom に心より感謝いたします。