精通_NET核心技术-高级特性(一)

begin:2009-4-1

dll:

namespace HelloRemotin
{
    public class SayHello:MarshalByRefObject
    {
        public string Hello(string pString)
        {
            Console.WriteLine("远程传入的信息:{0}",pString);
            return "Hello";
        }
    }
}

client:

        static void Main(string[] args)
        {
            TcpChannel tcp = new TcpChannel();
            ChannelServices.RegisterChannel(tcp);
            SayHello sa = (SayHello)(Activator.GetObject(typeof(SayHello), "tcp://127.0.0.1:8010/SayHello"));
            if (sa == null)
            {
                Console.WriteLine("不能定位到远程服务");
            }
            else
            {
                Console.WriteLine(sa.Hello("Hello,我是老鹰"));
            }
        }

 

server:

        static void Main(string[] args)
        {
            TcpChannel tcp = new TcpChannel(8010);
            ChannelServices.RegisterChannel(tcp);
            RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("HelloRemotin.SayHello,HelloRemotin"), "SayHello", WellKnownObjectMode.SingleCall);
            Console.WriteLine("按<enter>退出");
            Console.Read();
        }

 

------------------------

当链接服务器激活对象时,不能执行带参数的构造函数.

.net remoting 见系列.

posted @ 2009-04-01 14:01  阿网  阅读(178)  评论(0编辑  收藏  举报