/// <summary> /// Handles requests from the foreground by invoking the requested methods on a handler object /// </summary> private void HandleForegroundRequest( AppServiceConnection sender, AppServiceRequestReceivedEventArgs args) { using (new AppServiceDeferralWrapper(args.GetDeferral())) { //Identiy the channel var channel = args.Request.Message.Single().Key; //Retrieve the message (format: <Method> <Argument - can be null and is serialized as JSON>) var message = args.Request.Message.Single().Value.ToString(); //Invoke the requested method on the handler based on the channel type if (channel == nameof(ISignalingSocketChannel)) { AppServiceChannelHelper.HandleRequest(args.Request, SignalingSocketService, message); } if (channel == nameof(IClientChannel)) { AppServiceChannelHelper.HandleRequest(args.Request, SignalingClient, message); } if (channel == nameof(IVoipChannel)) { AppServiceChannelHelper.HandleRequest(args.Request, VoipChannel, message); } if (channel == nameof(IMediaSettingsChannel)) { AppServiceChannelHelper.HandleRequest(args.Request, MediaSettingsChannel, message); } } }
private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args) { using (new AppServiceDeferralWrapper(args.GetDeferral())) { var message = args.Request.Message.Single().Value.ToString(); AppServiceChannelHelper.HandleRequest(args.Request, this, message); } }
private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args) { var deferral = args.GetDeferral(); try { var message = args.Request.Message.Single().Value.ToString(); AppServiceChannelHelper.HandleRequest(args.Request, this, message); } finally { deferral.Complete(); } }