在Service里面提供Remoting对象,在Service Manager中调用。

解决方案 »

  1.   

    remoting不是需要监听某一个端口吗?万一那个端口被占用怎麽办呢?其它公司实现类似的功能也是用该方法实现的吗?
      

  2.   

    >> remoting不是需要监听某一个端口吗?
    监听端口是Tcp/Http协议的要求,Remoting本身没有这种要求,只要你选择Tcp/Http之外的Channel(例如MSMQ),就不需要占用端口了(但.NET缺省只有这两种)。>> 万一那个端口被占用怎麽办呢?
    首先,理论上我们有65536个端口可供选择(需要除掉一些系统占用的)。:)
    其次,需要你自己的程序有一定的控制逻辑(如端口可配置)>> 其它公司实现类似的功能也是用该方法实现的吗?
    通常在Windows平台上有其他的跨进程通信方法,比如Named Pipeline或共享内存,FileMapping等等。如果确定管理程序和服务在同一的机器上运行的话的确用不着Remoting,但是.NET平台目前缺省只提供了Http和Tcp两种通道。:(
    这里有一个Named Pipeline的Channel例子,不妨看看:
    http://www.gotdotnet.com/userfiles/jhawk/NamedPipeChannel.zip qqchen79
     [MS MVP]