Domain Detective

API Reference

Class

ResolveDnsRequest

Namespace DnsClientX
Assembly DnsClientX
Modifiers sealed

Represents a reusable request model for DNS queries across single-resolver and multi-resolver flows.

Inheritance

  • Object
  • ResolveDnsRequest

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

public ResolveDnsRequest() #

Methods

public String[] GetExpandedNames() #
Returns: String[]

Expands the request into concrete DNS names.

public Void Validate() #
Returns: Void

Validates the request before execution.

Properties

public String[] Names { get; set; } #

Gets or sets the explicit DNS names to query.

public String Pattern { get; set; } #

Gets or sets an optional name pattern that expands into multiple DNS names.

public DnsRecordType[] RecordTypes { get; set; } #

Gets or sets the record types to query.

public DnsEndpoint[] DnsProviders { get; set; } #

Gets or sets the predefined provider inputs for single-provider or multi-provider execution.

public DnsSelectionStrategy DnsSelectionStrategy { get; set; } #

Gets or sets how a built-in provider chooses among its backing resolvers.

public String[] Servers { get; set; } #

Gets or sets the explicit server names or IP addresses to query.

public String[] ResolverEndpoints { get; set; } #

Gets or sets the raw resolver endpoints used by the multi-resolver flow.

public DnsEndpoint[] ResolverDnsProviders { get; set; } #

Gets or sets the provider inputs that should be expanded into multi-resolver endpoints.

public MultiResolverStrategy ResolverStrategy { get; set; } #

Gets or sets the multi-resolver strategy.

public Int32 MaxParallelism { get; set; } #

Gets or sets the maximum number of concurrent endpoint queries for multi-resolver execution.

public Boolean RespectEndpointTimeout { get; set; } #

Gets or sets whether endpoint-specific timeouts should be respected in the multi-resolver.

public Int32 FastestCacheMinutes { get; set; } #

Gets or sets the duration in minutes used by the FastestWins endpoint cache.

public Int32 PerEndpointMaxInFlight { get; set; } #

Gets or sets the optional cap on concurrent in-flight queries per multi-resolver endpoint.

public Boolean ResponseCache { get; set; } #

Gets or sets whether multi-resolver response caching is enabled.

public Int32 CacheExpirationSeconds { get; set; } #

Gets or sets the fallback cache expiration in seconds when TTL is unavailable.

public Int32 MinCacheTtlSeconds { get; set; } #

Gets or sets the minimum cache TTL in seconds.

public Int32 MaxCacheTtlSeconds { get; set; } #

Gets or sets the maximum cache TTL in seconds.

public Boolean AllServers { get; set; } #

Gets or sets whether all configured servers should be queried sequentially.

public Boolean Fallback { get; set; } #

Gets or sets whether configured servers should be queried until one succeeds.

public Boolean RandomServer { get; set; } #

Gets or sets whether configured servers should be randomized before use.

public Int32 TimeOutMilliseconds { get; set; } #

Gets or sets the timeout in milliseconds.

public Int32 RetryCount { get; set; } #

Gets or sets the number of retry attempts on transient failures.

public Int32 RetryDelayMs { get; set; } #

Gets or sets the delay between retry attempts in milliseconds.

public Boolean RequestDnsSec { get; set; } #

Gets or sets whether DNSSEC data should be requested.

public Boolean ValidateDnsSec { get; set; } #

Gets or sets whether DNSSEC validation should be performed.

public Boolean TypedRecords { get; set; } #

Gets or sets whether typed records should be projected for successful answers.

public Boolean ParseTypedTxtRecords { get; set; } #

Gets or sets whether TXT answers should be parsed into specialized typed records.

public Boolean EnableEdns { get; set; } #

Gets or sets whether EDNS should be enabled.

public Int32 EdnsBufferSize { get; set; } #

Gets or sets the EDNS UDP buffer size.

public String ClientSubnet { get; set; } #

Gets or sets the EDNS client subnet in CIDR notation.

public Boolean CheckingDisabled { get; set; } #

Gets or sets whether the CD bit should be set on outgoing queries.

public Boolean RequestNsid { get; set; } #

Gets or sets whether the NSID EDNS option should be requested.

public DnsRequestFormat RequestFormat { get; set; } #

Gets or sets the request format used by explicit server execution.

public Int32 Port { get; set; } #

Gets or sets an optional port override used by explicit server execution.

public String UserAgent { get; set; } #

Gets or sets an optional User-Agent for HTTP-based transports.

public Version HttpVersion { get; set; } #

Gets or sets an optional preferred HTTP version.

public Boolean IgnoreCertificateErrors { get; set; } #

Gets or sets whether TLS certificate validation errors should be ignored.

public Boolean UseTcpFallback { get; set; } #

Gets or sets whether UDP transport may fall back to TCP when truncated.

public Uri ProxyUri { get; set; } #

Gets or sets an optional proxy URI for HTTP-based transports.

public Int32 MaxConnectionsPerServer { get; set; } #

Gets or sets the maximum number of HTTP connections per server.

public Int32 MaxConcurrency { get; set; } #

Gets or sets an optional client-side concurrency cap for individual resolver instances.

public Boolean IsMultiResolverRequest { get; } #

Gets a value indicating whether this request should execute through the multi-resolver.

public Boolean ShouldRequestDnsSec { get; } #

Gets a value indicating whether DNSSEC data must be requested.

public Boolean ShouldValidateDnsSec { get; } #

Gets a value indicating whether DNSSEC validation should be performed.

{{ include "footer" }}