Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/HeuristicLab.Clients.Common/3.3/SecurityExceptionUtil.cs @ 16310

Last change on this file since 16310 was 16117, checked in by jkarder, 6 years ago

#2839: merged [15377-16116/branches/2839_HiveProjectManagement] into trunk

File size: 1.4 KB
RevLine 
[15401]1using System;
2using System.ServiceModel.Security;
3using System.Threading.Tasks;
4using HeuristicLab.PluginInfrastructure;
5
6namespace HeuristicLab.Clients.Hive {
7  public class SecurityExceptionUtil {
8    public static void TryAndReportSecurityExceptions(Action action, Action finallyCallback = null) {
9      try {
10        action();
11      } catch (MessageSecurityException ex) {
12        ErrorHandling.ShowErrorDialog("There is something wrong with the applied security. Are your credentials correct?", ex);
13      } catch (SecurityAccessDeniedException ex) {
14        ErrorHandling.ShowErrorDialog("The security authorization request failed. Are you a Hive administrator?", ex);
15      } finally {
[16117]16        if (finallyCallback != null) finallyCallback();
[15401]17      }
18    }
19
20    public static async Task TryAsyncAndReportSecurityExceptions(Action action, Action finallyCallback = null) {
21      try {
22        await Task.Run(action);
23      } catch (MessageSecurityException ex) {
24        ErrorHandling.ShowErrorDialog("There is something wrong with the applied security. Are your credentials correct?", ex);
25      } catch (SecurityAccessDeniedException ex) {
26        ErrorHandling.ShowErrorDialog("The security authorization request failed. Are you a Hive administrator?", ex);
27      } finally {
[16117]28        if (finallyCallback != null) finallyCallback();
[15401]29      }
30    }
31  }
32}
Note: See TracBrowser for help on using the repository browser.