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); }
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); }