DnsClientOptions Class
Configuration options for DnsClient.
public sealed class DnsClientOptionsConstructors
| Name | Description |
|---|---|
| DnsClientOptions() |
DnsClientOptions()
DnsClientOptions.cspublic DnsClientOptions()No documentation is available.
Properties
| Name | Description |
|---|---|
| DnssecOk | Gets or sets a value indicating whether to set the DNSSEC OK (DO) flag. Default is false. |
| DnssecTrustAnchors | Gets or sets the DNSSEC trust anchors used for local validation. |
| DnssecValidationMode | Gets or sets how DNSSEC responses are validated. Default is DnssecValidationMode.None. |
| EdnsUdpPayloadSize | Gets or sets the EDNS UDP payload size. Default is 1232, the value recommended by RFC 9715 and DNS Flag Day 2020 to avoid IP fragmentation; larger UDP answers are routinely dropped by middleboxes. |
| EnableEdns | Gets or sets a value indicating whether to include EDNS(0) OPT records in queries. Default is true. |
| HttpHandler | Gets or sets the HTTP message handler for DNS over HTTPS. When null, a default handler is used. |
| HttpVersion | Gets or sets the HTTP version used for DNS over HTTPS requests. Default is HTTP/2, which every DoH resolver supports; requesting HTTP/3 costs a failed QUIC attempt per connection on hosts or servers without it. |
| HttpVersionPolicy | Gets or sets the HTTP version policy used for DNS over HTTPS requests. Default is HttpVersionPolicy.RequestVersionOrLower. |
| RetryTruncatedOverTcp | Gets or sets a value indicating whether a truncated (TC) UDP response is automatically re-issued over TCP, as RFC 1035 section 4.2.1 requires. Default is true. Only applies to DnsClientProtocol.Udp. |
| ServerAddressResolver | Gets or sets the resolver used to resolve DNS server hostnames to IP addresses. |
| TimeProvider | Gets or sets the time provider used for DNSSEC signature lifetime checks. |
| Timeout | Gets or sets the query timeout. Default is 5 seconds. |
DnssecOk
DnsClientOptions.csDnssecTrustAnchors
DnsClientOptions.csGets or sets the DNSSEC trust anchors used for local validation.
public IReadOnlyList<DnssecTrustAnchor> DnssecTrustAnchors { get; set; }Property value
DnssecValidationMode
DnsClientOptions.csGets or sets how DNSSEC responses are validated. Default is DnssecValidationMode.None.
public DnssecValidationMode DnssecValidationMode { get; set; }Property value
EdnsUdpPayloadSize
DnsClientOptions.csEnableEdns
DnsClientOptions.csHttpHandler
DnsClientOptions.csGets or sets the HTTP message handler for DNS over HTTPS. When null, a default handler is used.
public HttpMessageHandler? HttpHandler { get; set; }Property value
HttpVersion
DnsClientOptions.csHttpVersionPolicy
DnsClientOptions.csGets or sets the HTTP version policy used for DNS over HTTPS requests. Default is HttpVersionPolicy.RequestVersionOrLower.
public HttpVersionPolicy HttpVersionPolicy { get; set; }Property value
RetryTruncatedOverTcp
DnsClientOptions.csGets or sets a value indicating whether a truncated (TC) UDP response is automatically re-issued over TCP, as RFC 1035 section 4.2.1 requires. Default is true. Only applies to DnsClientProtocol.Udp.
public bool RetryTruncatedOverTcp { get; set; }Property value
ServerAddressResolver
DnsClientOptions.csGets or sets the resolver used to resolve DNS server hostnames to IP addresses.
public Func<string, IReadOnlyList<IPAddress>>? ServerAddressResolver { get; set; }Property value
TimeProvider
DnsClientOptions.csGets or sets the time provider used for DNSSEC signature lifetime checks.
public TimeProvider TimeProvider { get; set; }