博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[导入]ipc的remoting

Posted on 2007-02-05 22:24  alee  阅读(202)  评论(0编辑  收藏  举报

远程对象:

using System;
using System.Collections.Generic;
using System.Text;

namespace Object
{
    
public class MyObject : MarshalByRefObject
    {
        
public int Add(int a, int b)
        {
            
return a + b;
        }
    } 

}

1、配置文件方式

服务端:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Remoting;

namespace Server
{
    
class Program
    {
        
static void Main(string[] args)
        {
            RemotingConfiguration.Configure(
"Server.exe.config");
            Console.ReadLine();

        }
    }
}

服务端配置文件:
<configuration>
    
<system.runtime.remoting>
        
<application name="RemoteServer">
            
<service>
                
<wellknown type="Object.MyObject,Object" objectUri="Object.MyObject" mode="Singleton" />
            
</service>
            
<channels>
                
<channel ref="ipc" portName="testPipe" />
            
</channels>
        
</application>
    
</system.runtime.remoting>
</configuration>

客户端:
using System;
using System.Collections.Generic;
using System.Text;

namespace Client
{
    
class Program
    {
        
static void Main(string[] args)
        {
            Object.MyObject app 
= (Object.MyObject)Activator.GetObject(typeof(Object.MyObject), "ipc://testPipe/Object.MyObject");
            Console.WriteLine(app.Add(
12));
            Console.ReadLine();

        }
    }
}

2、代码方式

服务端:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Remoting.Channels.Ipc; 
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting;

namespace Server
{
    
class Program
    {
        
static void Main(string[] args)
        {
            IpcChannel ipcCh 
= new IpcChannel("testPipe");
            ChannelServices.RegisterChannel(ipcCh);
            RemotingConfiguration.RegisterWellKnownServiceType
               (
typeof(Object.MyObject), "Object.MyObject", WellKnownObjectMode.Singleton);
            Console.ReadLine();

        }
    }
}

客户端和配置文件方式相同

lovecherry 2006-12-05 16:07 发表评论

文章来源:http://www.cnblogs.com/lovecherry/archive/2006/12/05/582927.html