IronPigeon.Providers.DirectEntryAddressBook.LookupAsync C# (CSharp) Method

LookupAsync() public method

Retrieves a contact with some user supplied identifier.
public LookupAsync ( string identifier, CancellationToken cancellationToken = default(CancellationToken) ) : Task
identifier string The user-supplied identifier for the contact.
cancellationToken System.Threading.CancellationToken A cancellation token.
return Task
        public override async Task<Endpoint> LookupAsync(string identifier, CancellationToken cancellationToken = default(CancellationToken))
        {
            Uri entryLocation;
            if (!Uri.TryCreate(identifier, UriKind.Absolute, out entryLocation))
            {
                return null;
            }

            try
            {
                var endpoint = await this.DownloadEndpointAsync(entryLocation, cancellationToken).ConfigureAwait(false);
                return endpoint;
            }
            catch (HttpRequestException)
            {
                return null;
            }
            catch (BadAddressBookEntryException)
            {
                return null;
            }
        }
    }

Usage Example

示例#1
0
		internal async Task InvitingMemberAsync(InviteMember inviteWindow) {
			var addressBook = new DirectEntryAddressBook(this.CryptoProvider, new HttpClient());
			var endpoint = await addressBook.LookupAsync(inviteWindow.PublicEndpointUrlBox.Text);
			if (endpoint != null) {
				try {
					this.AddMember(inviteWindow.FriendlyNameBox.Text, endpoint);
				} catch (InvalidOperationException ex) {
					MessageBox.Show(ex.Message);
				}
			}

			inviteWindow.Close();
		}
All Usage Examples Of IronPigeon.Providers.DirectEntryAddressBook::LookupAsync