検索
特集

特集:全1回 .NET FrameworkをUNIXで動かす「Mono Project」dev .NET(8/9 ページ)

ノベルが取り組むオープンな.NET Framework環境。「Mono」は、ASP.NET、ADO.NETなどの開発を必ずしもWindows上で行う必要がない、という新たなアプローチとして注目されている。その実力をサンプルを用い検証してみた。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ビルドに必要なもの

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 一般にASP.NETアプリケーションを構成する場合には、次のファイルが必要となる。

  • Global.asax

 Webアプリケーション全体のイベントが発生したときに処理するファイル。無くてもよい。

  • *.aspx

 各Webページ(Webフォームと呼ぶ)を構成するファイル。HTMLファイルの雛形と、そのページへの要求を受け取った時、どのプログラムが実行されるのかなどが記述されている。

  • *.dll

 ソースファイルをコンパイルしたアセンブリ。対応するソースファイルは、「*aspx.cs」(C#の場合)や「*.aspx.vb」(VB.NETの場合)として構成される。ASP.NETでは、bin/ディレクトリ下にdllファイルを配置する。

  • Web.configファイル

 Webアプリケーションの設定ファイル。無くてもよいが、今回は、先に説明したappSettings要素でデータベースへの接続文字列を指定しているため必要となる。

 もし、Windows上でビルドしたものをMono環境に持っていくのであれば、これらのファイル群をMono環境にコピーすればよい。この際、ソースファイルである「*.aspx.cs」や「*.aspx.vb」は不要だ。

XSPの実行

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Webフォームやコンパイル後のバイナリファイル(*.dll)をコピーしたならば、XSPを起動してみよう。ここでは、Webアプリケーションを構成するファイルを/home/example/TestWebApp/ディレクトリ下にコピーしたとする。すなわち、次のような構成になっているとする。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***


DLLファイルのファイル名は、ビルドした時に決まる。ディレクトリ名と合致させる必要はない。

 この際、次のようにしてXSPを起動すると「http://サーバー名:8080/TestWebApp/WebForm1.aspx」というURLで、このWebアプリケーションを実行できる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***


xsp.exeは、IISと違い、DLLファイルのシャドウコピーをしない。そのため、xsp.exeを実行中は、DLLファイルにロックがかかり、上書きしたり削除したりできなくなる。

 実際にWebブラウザで参照したときの結果は、画面5のようになる。


画面5■XSPでホスティングした時の結果

 画面4、5とを比較すると分かるが、日本語が化けてしまっている。また、Boolean型のデータ(画面4における「契約済」という列)において、「True」や「False」が表示されていない。ただし、文字化けするだけで、データの表示処理は問題なく、DataGridコントロールのページング処理も正しく機能する。

 気になるのは動作速度だが、XSPでの動作は、仮想コードを実行している割には、遅さをあまり感じない。ただし、初回にアクセスした時には、アセンブリが実際のバイナリに変換されるため、この際にやや時間を要するのは否めない。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る