Rev | Line | |
---|
[15401] | 1 | using System;
|
---|
| 2 | using System.ServiceModel.Security;
|
---|
| 3 | using System.Threading.Tasks;
|
---|
| 4 | using HeuristicLab.PluginInfrastructure;
|
---|
| 5 |
|
---|
| 6 | namespace 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.