一般にASP.NETアプリケーションを構成する場合には、次のファイルが必要となる。
Webアプリケーション全体のイベントが発生したときに処理するファイル。無くてもよい。
各Webページ(Webフォームと呼ぶ)を構成するファイル。HTMLファイルの雛形と、そのページへの要求を受け取った時、どのプログラムが実行されるのかなどが記述されている。
ソースファイルをコンパイルしたアセンブリ。対応するソースファイルは、「*aspx.cs」(C#の場合)や「*.aspx.vb」(VB.NETの場合)として構成される。ASP.NETでは、bin/ディレクトリ下にdllファイルを配置する。
Webアプリケーションの設定ファイル。無くてもよいが、今回は、先に説明したappSettings要素でデータベースへの接続文字列を指定しているため必要となる。
もし、Windows上でビルドしたものをMono環境に持っていくのであれば、これらのファイル群をMono環境にコピーすればよい。この際、ソースファイルである「*.aspx.cs」や「*.aspx.vb」は不要だ。
Webフォームやコンパイル後のバイナリファイル(*.dll)をコピーしたならば、XSPを起動してみよう。ここでは、Webアプリケーションを構成するファイルを/home/example/TestWebApp/ディレクトリ下にコピーしたとする。すなわち、次のような構成になっているとする。
/home/example/TestWebApp Web.config WebForm1.aspx bin TestWebApp.dll |
|
この際、次のようにしてXSPを起動すると「http://サーバー名:8080/TestWebApp/WebForm1.aspx」というURLで、このWebアプリケーションを実行できる。
$ mono /usr/bin/xsp.exe --applications /TestWebApp:/home/example/TestWebApp |
|
|
|
実際にWebブラウザで参照したときの結果は、画面5のようになる。
画面4、5とを比較すると分かるが、日本語が化けてしまっている。また、Boolean型のデータ(画面4における「契約済」という列)において、「True」や「False」が表示されていない。ただし、文字化けするだけで、データの表示処理は問題なく、DataGridコントロールのページング処理も正しく機能する。
気になるのは動作速度だが、XSPでの動作は、仮想コードを実行している割には、遅さをあまり感じない。ただし、初回にアクセスした時には、アセンブリが実際のバイナリに変換されるため、この際にやや時間を要するのは否めない。
Copyright © ITmedia, Inc. All Rights Reserved.