.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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?