Наследование: MarshalByRefObject, TestService
Пример #1
0
        public void CallMethodFoo()
        {
            MockRepository mocks       = new MockRepository();
            FooRequest     fooRequest  = FooRequest.CreateBuilder().Build();
            FooResponse    fooResponse = FooResponse.CreateBuilder().Build();
            IRpcController controller  = mocks.StrictMock <IRpcController>();

            bool fooCalled = false;

            TestService service = new TestServiceImpl((request, responseAction) => {
                Assert.AreSame(fooRequest, request);
                fooCalled = true;
                responseAction(fooResponse);
            }, null, controller);

            bool doneHandlerCalled        = false;
            Action <IMessage> doneHandler = (response => {
                Assert.AreSame(fooResponse, response);
                doneHandlerCalled = true;
            });

            using (mocks.Record()) {
                // No mock interactions to record
            }

            service.CallMethod(FooDescriptor, controller, fooRequest, doneHandler);

            Assert.IsTrue(doneHandlerCalled);
            Assert.IsTrue(fooCalled);
            mocks.VerifyAll();
        }
Пример #2
0
    public void CallMethodFoo() {
      MockRepository mocks = new MockRepository();
      FooRequest fooRequest = FooRequest.CreateBuilder().Build();
      FooResponse fooResponse = FooResponse.CreateBuilder().Build();
      IRpcController controller = mocks.StrictMock<IRpcController>();

      bool fooCalled = false;

      TestService service = new TestServiceImpl((request, responseAction) => {
        Assert.AreSame(fooRequest, request);
        fooCalled = true;
        responseAction(fooResponse);
      }, null, controller);

      bool doneHandlerCalled = false;
      Action<IMessage> doneHandler = (response => {
        Assert.AreSame(fooResponse, response);
        doneHandlerCalled = true;          
      });

      using (mocks.Record()) {
        // No mock interactions to record
      }

      service.CallMethod(FooDescriptor, controller, fooRequest, doneHandler);

      Assert.IsTrue(doneHandlerCalled);
      Assert.IsTrue(fooCalled);
      mocks.VerifyAll();
    }
Пример #3
0
        public void GetResponsePrototype()
        {
            TestService service = new TestServiceImpl();

            Assert.AreSame(service.GetResponsePrototype(FooDescriptor), FooResponse.DefaultInstance);
            Assert.AreSame(service.GetResponsePrototype(BarDescriptor), BarResponse.DefaultInstance);
        }
Пример #4
0
        public void GetResponsePrototype()
        {
            TestGenericService service = new TestServiceImpl();

            Assert.AreSame(service.GetResponsePrototype(FooDescriptor), FooResponse.DefaultInstance);
            Assert.AreSame(service.GetResponsePrototype(BarDescriptor), BarResponse.DefaultInstance);
        }
        public void CallMethodFoo()
        {
            FooRequest     fooRequest  = FooRequest.CreateBuilder().Build();
            FooResponse    fooResponse = FooResponse.CreateBuilder().Build();
            IRpcController controller  = new RpcTestController();

            bool fooCalled = false;

            TestGenericService service = new TestServiceImpl((request, responseAction) =>
            {
                Assert.AreSame(fooRequest, request);
                fooCalled = true;
                responseAction(fooResponse);
            }, null, controller);

            bool doneHandlerCalled        = false;
            Action <IMessage> doneHandler = (response =>
            {
                Assert.AreSame(fooResponse, response);
                doneHandlerCalled = true;
            });

            service.CallMethod(FooDescriptor, controller, fooRequest, doneHandler);

            Assert.IsTrue(doneHandlerCalled);
            Assert.IsTrue(fooCalled);
        }
        public void CallMethodBar()
        {
            BarRequest     barRequest  = BarRequest.CreateBuilder().Build();
            BarResponse    barResponse = BarResponse.CreateBuilder().Build();
            IRpcController controller  = new RpcTestController();

            bool barCalled = false;

            TestGenericService service = new TestServiceImpl(null, (request, responseAction) =>
            {
                Assert.AreSame(barRequest, request);
                barCalled = true;
                responseAction(barResponse);
            }, controller);

            bool doneHandlerCalled        = false;
            Action <IMessage> doneHandler = (response =>
            {
                Assert.AreSame(barResponse, response);
                doneHandlerCalled = true;
            });

            service.CallMethod(BarDescriptor, controller, barRequest, doneHandler);

            Assert.IsTrue(doneHandlerCalled);
            Assert.IsTrue(barCalled);
        }
Пример #7
0
        /// <summary>
        /// 拦截异步方法
        /// </summary>
        /// <returns></returns>
        public async Task Test()
        {
            var generator = new ProxyGenerator();
            var impl      = new TestServiceImpl();
            var proxy     = generator.CreateInterfaceProxyWithTarget <ITestService>(impl, new TestAsyncTimingInterceptor().ToInterceptor());
            var result    = await proxy.GetData("1,2,3,4,5,6");

            Console.WriteLine(string.Join('-', result));
        }
Пример #8
0
	static void Main (string [] args)
	{
		TestServiceImpl impl = new TestServiceImpl ();
		RemotingServices.Marshal (impl, "test");
		TcpChannel chan = new TcpChannel (8089);
#if NET_2_0
		ChannelServices.RegisterChannel (chan, false);
#else
		ChannelServices.RegisterChannel (chan);
#endif
		Console.ReadLine ();
		ChannelServices.UnregisterChannel (chan);
	}
        public ChannelContext Create(NamedPipeServerOptions options)
        {
            var impl   = new TestServiceImpl();
            var server = new NamedPipeServer(_pipeName, options);

            TestService.BindService(server.ServiceBinder, impl);
            server.Start();
            return(new ChannelContext
            {
                Impl = impl,
                Client = CreateClient(),
                OnDispose = () => server.Kill()
            });
        }
Пример #10
0
        public override ChannelContext Create()
        {
            var impl   = new TestServiceImpl();
            var server = new Server(Options)
            {
                Services = { TestService.BindService(impl) },
                Ports    = { new ServerPort("localhost", 0, ServerCredentials.Insecure) }
            };

            server.Start();
            _port = server.Ports.First().BoundPort;
            return(new ChannelContext
            {
                Impl = impl,
                Client = CreateClient(),
                OnDispose = () => server.KillAsync()
            });
        }
Пример #11
0
        public void CallMethodFoo()
        {
            FooRequest fooRequest = FooRequest.CreateBuilder().Build();
            FooResponse fooResponse = FooResponse.CreateBuilder().Build();
            IRpcController controller = new RpcTestController();

            bool fooCalled = false;

            TestGenericService service = new TestServiceImpl((request, responseAction) =>
                                                                 {
                                                                     Assert.AreSame(fooRequest, request);
                                                                     fooCalled = true;
                                                                     responseAction(fooResponse);
                                                                 }, null, controller);

            bool doneHandlerCalled = false;
            Action<IMessage> doneHandler = (response =>
                                                {
                                                    Assert.AreSame(fooResponse, response);
                                                    doneHandlerCalled = true;
                                                });

            service.CallMethod(FooDescriptor, controller, fooRequest, doneHandler);

            Assert.IsTrue(doneHandlerCalled);
            Assert.IsTrue(fooCalled);
        }
Пример #12
0
        public void CallMethodBar()
        {
            BarRequest barRequest = BarRequest.CreateBuilder().Build();
            BarResponse barResponse = BarResponse.CreateBuilder().Build();
            IRpcController controller = new RpcTestController();

            bool barCalled = false;

            TestGenericService service = new TestServiceImpl(null, (request, responseAction) =>
                                                                       {
                                                                           Assert.AreSame(barRequest, request);
                                                                           barCalled = true;
                                                                           responseAction(barResponse);
                                                                       }, controller);

            bool doneHandlerCalled = false;
            Action<IMessage> doneHandler = (response =>
                                                {
                                                    Assert.AreSame(barResponse, response);
                                                    doneHandlerCalled = true;
                                                });

            service.CallMethod(BarDescriptor, controller, barRequest, doneHandler);

            Assert.IsTrue(doneHandlerCalled);
            Assert.IsTrue(barCalled);
        }