private static void Main(string[] args) { var requestWaiter = new SlimRequestWaiter { Root = new Uri("http://localhost:9000") }; // Greeter Console.WriteLine("\n*** Greeter ***"); var greeter = new GreeterRef(new SlimActorTarget("greeter"), requestWaiter, null); PrintResult(greeter.Greet("World")); PrintResult(greeter.Greet("Actor")); PrintResult(greeter.GetCount()); // Calculator Console.WriteLine("\n*** Calculator ***"); var calculator = new CalculatorRef(new SlimActorTarget("calculator"), requestWaiter, null); PrintResult(calculator.Concat("Hello", "World")); PrintResult(calculator.Concat(null, "Error")); PrintResult(calculator.Sum(1, 2)); // Counter Console.WriteLine("\n*** Counter ***"); var counter = new CounterRef(new SlimActorTarget("counter"), requestWaiter, null); counter.IncCounter(1); counter.IncCounter(2); counter.IncCounter(3); PrintResult(counter.GetCounter()); // Pedantic Console.WriteLine("\n*** Pedantic ***"); var pedantic = new PedanticRef(new SlimActorTarget("pedantic"), requestWaiter, null); pedantic.TestCall().Wait(); PrintResult(pedantic.TestOptional(null)); PrintResult(pedantic.TestOptional(1)); PrintResult(pedantic.TestTuple(Tuple.Create(1, "One"))); PrintResult(pedantic.TestParams(1, 2, 3)); PrintResult(pedantic.TestPassClass(new TestParam { Name = "Mouse", Price = 10 })); PrintResult(pedantic.TestReturnClass(1, 2)); }
async Task <ICounter> IEntry.GetCounter() { CounterRef counter = Context.InterfacedActorOf <CounterActor>().Cast <CounterRef>(); return((await _channel.BindActor(counter)).Cast <CounterRef>()); }