コード例 #1
0
        public void TrackingAndCustomProxy()
        {
            TrackingServices.RegisterTrackingHandler(new TrackingHandler());

            var channel = new TcpChannel(8080);
            ChannelServices.RegisterChannel(channel, false);
            var service = new ServiceClass();
            ObjRef obj = RemotingServices.Marshal(service, "TcpService");

            var url="tcp://localhost:8080/TcpService";
            service = RemotingServices.Connect(typeof(ServiceClass), url) as ServiceClass;
            Console.WriteLine("client received: {0}", service.Echo("hello"));

            service = new CustomProxy(typeof(ServiceClass), url).GetTransparentProxy() as ServiceClass;
            Console.WriteLine("client received: {0}", service.Echo("hello"));

            RemotingServices.Unmarshal(obj);
            RemotingServices.Disconnect(service);
        }
コード例 #2
0
        public void TrackingAndCustomProxy()
        {
            TrackingServices.RegisterTrackingHandler(new TrackingHandler());

            var channel = new TcpChannel(8080);

            ChannelServices.RegisterChannel(channel, false);
            var    service = new ServiceClass();
            ObjRef obj     = RemotingServices.Marshal(service, "TcpService");

            var url = "tcp://localhost:8080/TcpService";

            service = RemotingServices.Connect(typeof(ServiceClass), url) as ServiceClass;
            Console.WriteLine("client received: {0}", service.Echo("hello"));

            //use custom RealProxy
            service = new CustomProxy(typeof(ServiceClass), url).GetTransparentProxy() as ServiceClass;
            Console.WriteLine("client received: {0}", service.Echo("hello"));

            RemotingServices.Unmarshal(obj);
            RemotingServices.Disconnect(service);
        }