今、述べたように、ASP.NET 5のアプリのエントリポイントはいくつかある。
ConfigureメソッドとConfigureDevelopmentメソッドのどちらが呼び出されるかは、環境変数ASPNET_ENVの値によって決定する。この環境変数が設定されていない、またはその値が「"Development"」の場合、StartupクラスにConfigureDevelopmentメソッドがあればそれが呼び出される(「"Development"」以外には「"Staging"」と「"Production"」を設定可能。だが、筆者が試したところでは「"Development"」以外の値が設定されている場合には、Configureメソッドが呼び出されるようになっているようだ)。
このようにエントリポイントが二つ用意されているのは、開発時とリリース時に異なるメソッドでアプリの構成をできるようにするためだろう(エラー発生時に開発段階ではデバッグ情報を表示し、プロダクションコードではエラーページのみを表示するとか、開発段階ではConfigureDevelopmentメソッドでモックのセットアップを行うといったことが考えられる)。
ここでは、GitHubの「aspnet/Home(英語)」にあるサンプルに従い、Configureメソッドをエントリポイントとする。Configureメソッドの引数appはIApplicationBuilder型であり、これを使用するために「using Microsoft.AspNet.Builder;」が必要になる(ただし、これを「kpm install」コマンドでインストールする必要はない。この辺りの名前空間とアセンブリの対応の明確化というか、どのアセンブリに何が含まれているかについてのドキュメントの整理が今後は重要になってくるだろう)。
using Microsoft.AspNet.Builder;
namespace Webapptest
{
public class Startup
{
public void Configure(IApplicationBuilder app)
{
}
}
}
Configureメソッドを追加し、「k kestrel」コマンドを実行すると以下のようになる。
$ k kestrel
Started
前回Webアプリを実行したときと同様に「Started」とコンソールに表示され、Webアプリが起動した。とはいえ、Configureメソッドは空のため、Webブラウザーで表示をしてみても何も表示されない。
そこで、次にWebブラウザーに何か表示されるようにしてみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.