使用MONO移植ASP.NET 编写的Window服务到Linux
目的:使用mono将ASP.NET编写的Window服务移植到Linux下运行
使用的软件:mono2.0, Linux Red hat
步骤:
1、在Window下编写一个Remoting服务端作为Window服务。包括
RemoteServer.exe(服务运行文件)
RemoteServer.exe.config(配置文件)
将这两个文件放到Linux系统的一个目录下,本例放在/home/RemoteTest/RemoteServer下
sjhService服务脚本
2、 编写Linux服务脚本sjhServer,将脚本放在 /etc/rc.d/init.d目录下
3、 建立符号链接。建立相应运行级别的脚本符号链接,本例中是2、3、4、5级,使用命令 :
cd /etc/rc.d/rc2.d (相应地建立第3级的链接,cd到rc3.d目录下)
ln –s /etc/rc.d/init.d/sjhServer S97sjhServer
4、 启动服务。使用命令:
service sjhService start
5、 本例中有一个客户端程序RemoteClient.exe用做侦听。运行RemoteClient.exe,返回运行结果说明服务已经在运行,如果客户端出现目标机器积极拒绝说明服务没有启动
6、停止服务,使用命令:
service sjhService stop
到此ASP.NET的服务移植到Linux就算完成,和其它Linux的系统服务一样,操作方法都一样。
存在的几个疑点:
一、第3点建立符号链接时,只建立了S的链接,没有建立K的链接。还有启动和停止服务的顺序的定义有什么规则,是否对其它服务有顺序上的依赖。
二、服务的暂停不起作用,Remoting这个服务是否没有这个概念。其它类型服务有待测试。