Linux Apache で ASP.NET カスタムアプリを実行する
先回は、Linux の Apache で ASP.NET を実行する方法を紹介した。
今回は、Linux の Apahce で ASP.NET カスタムアプリケーションを動作させる方法について紹介する。
ここでは、CentOS 5.5 x64 を例にとり、説明を進める。 また、環境は、「Linux の Apache で ASP.NET を実行する」の手順に沿ってセットアップ済とする。
AutoHosting の設定を行う。Mono 1.1.10 より以前のバージョンでは、ASP.NET アプリケーションをホストする毎に Apache の構成ファイルを手動で変更する必要があったが、Mono 1.1.10 以降のバージョンでは、この AutoHosting を使うことにより、ASP.NET アプリケーションを簡単にホストできる。
[root@centkun ~]# vi /etc/httpd/conf.d/mod_mono.conf
# 以下の 2 行を追加する。
MonoServerPath "/opt/novell/mono/bin/mod-mono-server2"
MonoAutoApplication enabled
MonoServerPath ディレクティブにより、明示的に 2.0 ランタイム "mod-mono-server2" の使用を宣言。
MonoAutoApplication で、AutoHosting を有効にする。
ここで、一度 Apache を再起動し、起動時にエラーが発生しないことを確認する。
[root@centkun ~]# /etc/rc.d/init.d/httpd restart
Apahce の起動時にエラーが発生する場合は、設定を再度見直す。
次にカスタムアプリケーションのサンプルを作成する。今回は、XML Web サービスを作成する。
[root@centkun ~]# mkdir /var/www/html/demo001
[root@centkun ~]# vi /var/www/html/demo001/NumberService.asmx
<%@ Webservice Language="C#" Class="MathService.MathService" %>
using System;
using System.Web.Services;
namespace MathService
{
[WebService (Namespace = "http://tempuri.org/NumberService")]
public class MathService : WebService
{
[WebMethod]
public int AddNumbers (int number1, int
number2)
{
return number1 +
number2;
}
[WebMethod]
public int SubtractNumbers (int number1, int
number2)
{
return number1 -
number2;
}
}
}
:wq
ここで、Apache を再起動する必要はない。AutoHosting により、Web アプリケーションは、自動的にホストされる。
ブラウザから、http://192.168.1.19/demo001/NumberService.asmx (IP アドレスは任意) にアクセスする。
[Methods] -> [AddNumber] -> [Test Form] を選択する。
[number1]、[number2] に任意の数値を入力し、[Invoke] を選択し、ただしく動作することを確認する。
以上より、Linux Apache で ASP.NET カスタムアプリを実行することができた。
次回は、コードビハインドを用いた、より複雑な カスタム Web アプリケーションを作成し、動作させる方法について紹介する予定だ。
コメント (0)
コメントの投稿