示例#1
0
        private static async Task <MessageResponse> OnFruitMessageReceived(Message msg, object ctx)
        {
            AzureModule module    = (AzureModule)ctx;
            var         msgBytes  = msg.GetBytes();
            var         msgString = Encoding.UTF8.GetString(msgBytes);

            Log.WriteLine("fruit msg received: '{0}'", msgString);
            var fruitMsg = JsonConvert.DeserializeObject <FruitMessage>(msgString);
            await module.ProcessFruitMessage(fruitMsg);

            return(MessageResponse.Completed);
        }
示例#2
0
        private async Task <MethodResponse> SetFruit(MethodRequest req, object context)
        {
            string data = Encoding.UTF8.GetString(req.Data);

            Log.WriteLine("Direct Method SetFruit {0}", data);
            var         fruitMsg = JsonConvert.DeserializeObject <FruitMessage>(data);
            AzureModule module   = (AzureModule)context;
            await module.ProcessFruitMessage(fruitMsg);

            // Acknowlege the direct method call with a 200 success message
            string result = "{\"result\":\"Executed direct method: " + req.Name + "\"}";

            return(new MethodResponse(Encoding.UTF8.GetBytes(result), 200));
        }