예제 #1
0
        public Task ExecuteAsync(IDictionary <string, string> arguments)
        {
            if (!arguments.TryGetValue(ActionParameters.ADDRESS, out string address) ||
                string.IsNullOrWhiteSpace(address))
            {
                return(Task.CompletedTask);
            }

            Uri uri = TryToBuildUri(address);

            if (uri == null)
            {
                return(Task.CompletedTask);
            }

            if (string.Equals(uri.Scheme, Uri.UriSchemeFile, StringComparison.OrdinalIgnoreCase))
            {
                actionService.ExecuteAsync(ActionBuilder.PathUri(uri.LocalPath));
            }
            else if (string.Equals(uri.Scheme, ActionConstants.ACTION_SCHEMA, StringComparison.OrdinalIgnoreCase))
            {
                actionService.ExecuteAsync(uri.OriginalString);
            }
            else
            {
                return(UriOpenAction.ExecuteAsync(uri.OriginalString));
            }

            return(Task.CompletedTask);
        }
예제 #2
0
 public Task ExecuteActionAsync(string actionUrl)
 {
     return(actionManagement.ExecuteAsync(actionUrl));
 }