예제 #1
0
        public virtual async Task <bool> RegisterApplicationAsync(CancellationToken cancellationToken)
        {
            var taskManagementUrl = _options.UrlOrSetting;

            if (string.IsNullOrEmpty(taskManagementUrl))
            {
                SnTrace.TaskManagement.Write("Task management url is empty, application is not registered.");
                return(false);
            }

            var requestData = new RegisterApplicationRequest
            {
                AppId          = _options.ApplicationIdOrSetting,
                ApplicationUrl = _options.ApplicationUrlOrSetting
            };

            try
            {
                await RepositoryClient.RegisterApplicationAsync(taskManagementUrl, requestData).ConfigureAwait(false);

                SnLog.WriteInformation("Task management app registration was successful.", EventId.TaskManagement.General, properties: new Dictionary <string, object>
                {
                    { "TaskManagementUrl", taskManagementUrl },
                    { "AppId", requestData.AppId }
                });

                return(true);
            }
            catch (Exception ex)
            {
                SnLog.WriteException(ex, "Error during app registration.", EventId.TaskManagement.General,
                                     properties: new Dictionary <string, object>
                {
                    { "TaskManagementUrl", taskManagementUrl },
                    { "AppId", requestData.AppId },
                    { "ApplicationUrl", requestData.ApplicationUrl }
                });
            }

            // no need to throw an exception, we already logged the error
            return(false);
        }
예제 #2
0
        public virtual async Task <bool> RegisterApplicationAsync(string taskManagementUrl, RegisterApplicationRequest requestData)
        {
            try
            {
                await RepositoryClient.RegisterApplicationAsync(taskManagementUrl, requestData).ConfigureAwait(false);

                return(true);
            }
            catch (Exception ex)
            {
                SnLog.WriteException(ex, "Error during app registration.", EventId.TaskManagement.General,
                                     properties: new Dictionary <string, object>
                {
                    { "TaskManagementUrl", taskManagementUrl },
                    { "AppId", requestData.AppId },
                    { "ApplicationUrl", requestData.ApplicationUrl }
                });
            }

            // no need to throw an exception, we already logged the error
            return(false);
        }