コード例 #1
0
        public async Task <HelloWorldResponse> GetMessage([FromBody] HelloWorldRequest request)
        {
            var response = new HelloWorldResponse();

            if (!ModelState.IsValid)
            {
                response.Message = "Invalid request";

                return(response);
            }

            //implement logic here to get the message from the database once the database becomes available
            //similar to the below
            //var helloWorld = await _context.HelloWorld
            //                    .AsNoTracking()
            //                    .Where(x => x.Message == request.Message)
            //                    .FirstOrDefaultAsync();

            //since the database is not available at this time to return the data into the HelloWorld model,
            //I'm assigning it the value of HelloWorldRequest
            var helloWorld = new HelloWorld();

            helloWorld.Message = request.Message;

            response = HelloWorldMapper.MapFromEntity(helloWorld);

            return(response);
        }
コード例 #2
0
        public async Task <HelloWorldResponse> Post(HelloWorldRequest request)
        {
            var response = new HelloWorldResponse();

            try
            {
                if (ModelState.IsValid)
                {
                    var entityToStore = HelloWorldMapper.MapToEntity(request);

                    _context.HelloWorld.Add(entityToStore);

                    //uncomment this once the database is actually set up
                    await _context.SaveChangesAsync();

                    response.Message = "Message successfully saved to the database";
                }
            }
            catch (DbUpdateException ex)
            {
                response.Message = string.Format("There was an error when updating database: {0}", ex.InnerException);
            }

            return(response);
        }
コード例 #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 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();
        }
コード例 #4
0
        public static HelloWorldResponse MapFromEntity(HelloWorld helloWorld)
        {
            var response = new HelloWorldResponse();

            response.Message = helloWorld.Message;

            return(response);
        }
コード例 #5
0
    public string HelloWorld()
    {
        HelloWorldRequest inValue = new HelloWorldRequest();

        inValue.Body = new HelloWorldRequestBody();
        HelloWorldResponse retVal = ((WebServiceCIMPMessageGenerationSoap)(this)).HelloWorld(inValue);

        return(retVal.Body.HelloWorldResult);
    }
コード例 #6
0
        public string HelloWorld()
        {
            HelloWorldRequest inValue = new HelloWorldRequest();

            inValue.Body = new HelloWorldRequestBody();
            HelloWorldResponse retVal = ((AddNumbersSoap)(this)).HelloWorld(inValue);

            return(retVal.Body.HelloWorldResult);
        }
コード例 #7
0
        static void Main(string[] args)
        {
            var request = new HelloWorldRequest();

            request.Message = "Hello World!";

            var response          = new HelloWorldResponse();
            var helloWorldApiCall = new HelloWorldApiCall("http://localhost:53252/api/HelloWorld/GetMessage");

            Task.Run(async() =>
                     response = await helloWorldApiCall.Get(request)
                     ).Wait();

            Console.WriteLine(response.Message);

            System.Threading.Thread.Sleep(10000);
        }
コード例 #8
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();
        }