在RedHat Enterprise 4 上安装 Mono1.9 (三)
(1)Mono 安装
(2)Apache和XSP 安装和配置
出乎意料,今天很顺利的移植我们的一个BS系统到Linux,我想这主要是因为,我们的系统是架构在Castle Monorail上面,日志部分使用的log4net,UI部分使用了ExtJs和一些JQuery代码,这些都使得我们系统有一定的可移植性。更可喜的是,VS编译的DLL,可以直接在Mono下运行。这意味着,我们的开发工作可以在VS下进行,不用进行切换。这样可以节约大量的人力开销。
为了运行Castle MonoRails ,Apache的配置文件应该加上:
MonoAutoApplication disabled
AddHandler mono .rails .aspx .ascx .asax .ashx .config .cs .asmx .axd
Alias /sitename "/var/www/html/site" #映射站点路径
MonoApplications "/sitename:/var/www/html/site"
<Location /sitename >
SetHandler mono
</Location>
MonoServerPath /usr/bin/mod-mono-server2 #增加对.net2的支持
其它的详细测试还在进行中,已经发现的一些问题有:
- 大小写在Linux中敏感,所以,有些资源文件,JS,图片等的引用如果大小写不正确,就找不到了。这是需要注意的 。
- 项目中有一部分访问数据库使用的MS Elb 3.1的DAAB部分,主要查询部分。这部分会抛出异常。我没有仔细检查代码,估计可能同其中性能计数器代码有关。这样可能需要自己根据DAAB接口的做一个实现,以替换DAAB。
- 今天测试使用的数据库是MS Sql Server,但是SqlCommandBuilder.DeriveParameters()方法没有获得正确的参数类型,还没有正确定位原因。
现在看来,Mono应该可以很好的运行.Net程序。明天将继续测试Oracle数据连结,另外性能方面的测试也在准备之中。今天测试就页面的打开的时间来看,明显比IIS上运行的同一系统要慢一点,虽然机器配制也差一些,但是还是在我心里留下了一点阴影。