Example #1
0
        static async Task Main(string[] args)
        {
            RuntimeTypeModel.Default.Add(typeof(Envelope <HelloWorldRequest>), true);
            RuntimeTypeModel.Default.Add(typeof(HelloWorldRequest), true);
            RuntimeTypeModel.Default.Add(typeof(HelloWorldResponse), true);
            RuntimeTypeModel.Default.CompileInPlace();

            var host = HostFactory.Create(c =>
            {
                c.SetService("SampleServer")
                .ConnectTo()
                .Using(new JsonSerializer())
                .Using(new ConsoleLogger())
                .AddOperation <HelloWorldRequest, HelloWorldResponse>("HelloWorld", (env, caller) =>
                {
                    var message = env.Message;
                    var reply   = new HelloWorldResponse
                    {
                        Message = message?.Message
                    };

                    caller.SendReply(env, reply);
                });
            });

            await host.StartAsync();

            Thread.Sleep(Timeout.Infinite);

            await host.StopAsync();
        }
Example #2
0
        static void Main(string[] args)
        {
            LogManager.LogFactory = new NLogFactory();
            var hostFactory = new HostFactory();

            var host = hostFactory.Create();
            host.Init();
            host.Start(Platform.ServerUri);
            Console.ReadKey();
        }
Example #3
0
        static async Task Main(string[] args)
        {
            RuntimeTypeModel.Default.Add(typeof(Envelope <HelloWorldRequest>), true);
            RuntimeTypeModel.Default.Add(typeof(HelloWorldRequest), true);
            RuntimeTypeModel.Default.Add(typeof(HelloWorldResponse), true);
            RuntimeTypeModel.Default.CompileInPlace();

            var logger = new ConsoleLogger();

            var host = HostFactory.Create(c =>
            {
                c.SetService("SampleServer")
                .ConnectTo()
                .Using(new JsonSerializer())
                .Using(logger)
                .AddOperation <HelloWorldRequest, HelloWorldResponse>("HelloWorld", (env, caller) =>
                {
                    var message = env.Message;

                    if (env.Message == null)
                    {
                        logger.Log(LogLevel.Error, "Message was null");
                    }
                    else if (string.IsNullOrWhiteSpace(env.Message.Message))
                    {
                        logger.Log(LogLevel.Error, "Message data was null or empty");
                    }

                    var reply = new HelloWorldResponse
                    {
                        Message = message?.Message
                    };

                    caller.SendReply(env, reply);

                    return(Task.CompletedTask);
                });
            });

            await host.StartAsync();

            Console.ReadLine();

            await host.StopAsync();
        }
 public App()
 {
     host            = HostFactory.Create();
     ServiceProvider = host.Services;
 }