public ServiceWrapper(CancellationToken cancelToken) { var endpointAddress = EndpointAddresses.First(); object endpointAddressObj; if (ApplicationData.Current.RoamingSettings.Values.TryGetValue(EndpointAddressKey, out endpointAddressObj)) { endpointAddress = endpointAddressObj as string; } this.janus = new JanusATSoapClient(endpointAddress); this.cancelRegistration = cancelToken.Register(this.Close, useSynchronizationContext: false); }
public static async Task <bool> CheckAsync() { string validAddress = null; foreach (var endpointAddress in EndpointAddresses) { var service = new JanusATSoapClient(endpointAddress); try { await service.CheckAsync(); validAddress = endpointAddress; } catch (Exception) { validAddress = null; } finally { await service.CloseAsync(); } if (String.IsNullOrWhiteSpace(validAddress) == false) { break; } } if (String.IsNullOrWhiteSpace(validAddress)) { return(false); } ApplicationData.Current.RoamingSettings.Values[EndpointAddressKey] = validAddress; return(true); }