先来看一下Server端的结构:
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using RomotingLib;
namespace RemotingServer
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class RemotingServer
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
//1.注册信道
IChannel channel = new TcpChannel(8080);
ChannelServices.RegisterChannel(channel,false);
Console.WriteLine("Channel Registry...");
//2.注册远程对象
//Singleton(Wellknow方式)
RemotingConfiguration.RegisterWellKnownServiceType(typeof(MathClass),"RemoteMath",WellKnownObjectMode.Singleton);
//SingleCall(Wellknow方式)
//RemotingConfiguration.RegisterWellKnownServiceType(typeof(MathClass),"RemotMath",WellKnownObjectMode.SingleCall);
//Client Activate
RemotingConfiguration.ApplicationName = "RemoteMath";
RemotingConfiguration.RegisterActivatedServiceType(typeof(MathClass));
Console.WriteLine("Remoting Class Registry...");
while(true)
{
if(Console.ReadLine().ToUpper() == "QUIT")
{
return;
}
}
}
}
}
参考:http://www.cnblogs.com/yiriqing/articles/450552.html