private async void OnAppServiceRequestReceived()

in DataStreamerAppServiceUWPCommSample/DataStreamerAppServiceUWPCommSample/App.xaml.cs [132:179]


		private async void OnAppServiceRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
		{
			// Get a deferral because we use an awaitable API below to respond to the message
			// and we don't want this call to get cancelled while we are waiting.
			var messageDeferral = args.GetDeferral();
			ValueSet message = args.Request.Message;
			ValueSet returnData = new ValueSet();

			string command = message["Command"] as string;

			try
			{
				switch (command)
				{
					case "Connect":
						DataStreamerConnection = sender;
						returnData.Add("Result", "OK");
						await args.Request.SendResponseAsync(returnData);
						IsConnectedToDataStreamerAppService = true;
						break;
					case "Read":
						//Receive data from Data Streamer and show it in UWP Application
						returnData = await ReadDataAsync();
						break;
					case "Write":
						//Send data to Data Streamer
						await WriteDataAsync(message["Data"] as string);
						break;
					default:
						{
							returnData.Add("Status", "Fail: unknown command");
							await args.Request.SendResponseAsync(returnData);
							break;
						}
				}

			}
			catch (Exception e)
			{
				Debug.WriteLine($"Exception while sending the response : {e.Message}");
			}
			finally
			{
				// Complete the deferral so that the platform knows that we're done responding to the app service call.
				// Note for error handling: this must be called even if SendResponseAsync() throws an exception.
				messageDeferral.Complete();
			}
		}