.NET Remoting开发系列:(三) Remoting服务发布方式
Remoting服务发布方式?
- 使用应用程序发布 这个在第一篇就已经讲了。
- 通过Windows服务发布
- 通过IIS发布
通过Windows服务发布Remoting
首先我们要建立一个WindowsService程序,主要代码如下:
using System;
using System.Diagnostics;
using System.ServiceProcess;
using System.Runtime.Remoting;
using General;
namespace WindowsService2
{
public class RemotingService : System.ServiceProcess.ServiceBase
{
public static String SVC_NAME = ".NET Remoting Sample Service";
public RemotingService()
{
this.ServiceName = SVC_NAME;
}
static void Main()
{
//启动服务
ServiceBase.Run(new RemotingService());
}
protected override void OnStart(string[] args)
{
//加载配置文件
RemotingConfiguration.Configure("server.exe.config");
//给服务器类赋值
HelloServer.Str = "meinv";
}
protected override void OnStop()
{
//Remoting Service stopped
}
}
using System.Diagnostics;
using System.ServiceProcess;
using System.Runtime.Remoting;
using General;
namespace WindowsService2
{
public class RemotingService : System.ServiceProcess.ServiceBase
{
public static String SVC_NAME = ".NET Remoting Sample Service";
public RemotingService()
{
this.ServiceName = SVC_NAME;
}
static void Main()
{
//启动服务
ServiceBase.Run(new RemotingService());
}
protected override void OnStart(string[] args)
{
//加载配置文件
RemotingConfiguration.Configure("server.exe.config");
//给服务器类赋值
HelloServer.Str = "meinv";
}
protected override void OnStop()
{
//Remoting Service stopped
}
}
}
安装服务:
@echo off
echo 正在安装.NET Remoting Sample Service服务,请稍等......
installutil WindowsService2.exe
net start .NET Remoting Sample Service
echo. & pause
echo 正在安装.NET Remoting Sample Service服务,请稍等......
installutil WindowsService2.exe
net start .NET Remoting Sample Service
echo. & pause
卸载服务:
@echo off
net stop .NET Remoting Sample Service
installutil /u WindowsService2.exe
echo. & pause
net stop .NET Remoting Sample Service
installutil /u WindowsService2.exe
echo. & pause
Installutil.exe的位置和路径
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe
通过IIS发布
在 Web项目里的WEB.CONFIG里添加配置信息,并把远程对象拷贝到Bin 下 ,比如远程对象是JobServerLib.dll,那配置如下
<configuration>
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" type="JobServerLib.JobServerImpl,JobServerLib" objectUri="JobServer.soap" />
</service>
</application>
</system.runtime.remoting>
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" type="JobServerLib.JobServerImpl,JobServerLib" objectUri="JobServer.soap" />
</service>
</application>
</system.runtime.remoting>
</configuration>