Domain Detective

API Reference

Class

DnsConfiguration

Namespace DomainDetective
Assembly DomainDetective

Represents the configuration for DNS queries.

Inheritance

  • Object
  • DnsConfiguration

Remarks

This configuration object controls which DNS servers are queried as well as the strategy used when multiple endpoints are defined.

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

DnsConfiguration 2 overloads
public DnsConfiguration() #

Initializes a new instance of the DnsConfiguration class with default values using the system DNS endpoint.

public DnsConfiguration(DnsEndpoint dnsEndpoint, DnsSelectionStrategy dnsSelectionStrategy) #

Initializes a new instance of the DnsConfiguration class with specified values.

Parameters

dnsEndpoint DnsClientX.DnsEndpoint requiredposition: 0
dnsSelectionStrategy DnsClientX.DnsSelectionStrategy requiredposition: 1

Methods

QueryDNS 4 overloads
public Task<IEnumerable<DnsAnswer>> QueryDNS(String[] names, DnsRecordType recordType, String filter = "", CancellationToken cancellationToken = null) #
Returns: Task<IEnumerable<DnsAnswer>>

Queries the DNS for a specific name and record type, optionally applying a filter.

Parameters

name System.String requiredposition: 0
recordType DnsClientX.DnsRecordType requiredposition: 1
filter System.String = "" optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
public async Task<IEnumerable<DnsAnswer>> QueryDNS(String[] names, DnsRecordType recordType, String filter, Boolean includeAliasesInFilter, CancellationToken cancellationToken = null) #
Returns: Task<IEnumerable<DnsAnswer>>

Queries the DNS for a specific name and record type, optionally applying a filter.

Parameters

name System.String requiredposition: 0
recordType DnsClientX.DnsRecordType requiredposition: 1
filter System.String requiredposition: 2
includeAliasesInFilter System.Boolean requiredposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4
QueryDNS(System.String[] names, DnsClientX.DnsRecordType recordType, System.String filter, System.Threading.CancellationToken cancellationToken) #

Queries the DNS for a list of names and a record type, optionally applying a filter.

Parameters

names System.String[] required
recordType DnsClientX.DnsRecordType required
filter System.String required
cancellationToken System.Threading.CancellationToken required
QueryDNS(System.String[] names, DnsClientX.DnsRecordType recordType, System.String filter, System.Boolean includeAliasesInFilter, System.Threading.CancellationToken cancellationToken) #

Queries the DNS for a list of names and a record type, optionally applying a filter.

Parameters

names System.String[] required
recordType DnsClientX.DnsRecordType required
filter System.String required
includeAliasesInFilter System.Boolean required
cancellationToken System.Threading.CancellationToken required
public async Task<IReadOnlyList<DnsQueryBatchResult>> QueryDNSBatch(String[] names, DnsRecordType recordType, String filter = "", Boolean includeAliasesInFilter = false, CancellationToken cancellationToken = null) #
Returns: Task<IReadOnlyList<DnsQueryBatchResult>>

Queries the DNS for a list of names and returns a per-name result set in the same order as names.

Parameters

names System.String[] requiredposition: 0
recordType DnsClientX.DnsRecordType requiredposition: 1
filter System.String = "" optionalposition: 2
includeAliasesInFilter System.Boolean = false optionalposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4
public async Task<IEnumerable<DnsResponse>> QueryFullDNS(String[] names, DnsRecordType recordType, String filter = "", CancellationToken cancellationToken = null) #
Returns: Task<IEnumerable<DnsResponse>>

Queries the DNS for a list of names and a record type, optionally applying a filter, and returns the full DNS response.

Parameters

names System.String[] requiredposition: 0
recordType DnsClientX.DnsRecordType requiredposition: 1
filter System.String = "" optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
public async Task<IReadOnlyList<DnsResponse>> QueryFullDNSOrdered(String[] names, DnsRecordType recordType, String filter = "", Boolean includeAliasesInFilter = false, CancellationToken cancellationToken = null) #
Returns: Task<IReadOnlyList<DnsResponse>>

Queries the DNS for a list of names and a record type and returns a list of responses in the same order as names.

Parameters

names System.String[] requiredposition: 0
recordType DnsClientX.DnsRecordType requiredposition: 1
filter System.String = "" optionalposition: 2
includeAliasesInFilter System.Boolean = false optionalposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4

Properties

public String UserAgent { get; set; } #

Gets or sets the default User-Agent header for DNS queries.

public Nullable<Int32> ResolverMaxConcurrency { get; set; } #

Optional maximum concurrency for DNS queries passed to the underlying resolver. Applied when supported by the DnsClientX version.

public Boolean SupportsResolverConcurrency { get; } #

Indicates whether the underlying resolver supports a concurrency hint.

public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #

Optional override for DNS queries.

public Func<String, DnsRecordType, CancellationToken, Task<DnsResponse>> QueryDnsResponseOverride { get; set; } #

Optional override for full DNS responses, including flags such as AD.

public DnsEndpoint DnsEndpoint { get; set; } #

Gets or sets the primary DNS endpoint.

public List<DnsEndpoint> DnsEndpoints { get; } #

Optional multi-resolver list. When non-empty, queries will use this list according to MultiResolverStrategy.

public MultiResolverStrategy MultiResolverStrategy { get; set; } #

Strategy used when DnsEndpoints contains multiple endpoints.

public Nullable<Int32> MultiResolverMaxParallelism { get; set; } #

Maximum number of endpoints to query in parallel (null means all).

public DnsSelectionStrategy DnsSelectionStrategy { get; set; } #

Gets or sets the DNS selection strategy.

{{ include "footer" }}