Class ResolverBuilder
Provides a builder for configuring and creating a DNS resolver.
public class ResolverBuilder
- Inheritance
-
ResolverBuilder
- Inherited Members
Methods
AddDnsServer(IPAddress)
Adds a DNS server to the resolver.
public ResolverBuilder AddDnsServer(IPAddress serverAddress)
Parameters
Returns
- ResolverBuilder
The current ResolverBuilder instance.
AddDnsServer(IPAddress, int)
Adds a DNS server to the resolver.
public ResolverBuilder AddDnsServer(IPAddress serverAddress, int port)
Parameters
serverAddressIPAddressThe IPAddress of the DNS server.
portintThe port number of the DNS server.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
Exceptions
- ArgumentNullException
serverAddressis null.
AddDnsServer(IPEndPoint)
Adds a DNS server to the resolver.
public ResolverBuilder AddDnsServer(IPEndPoint server)
Parameters
serverIPEndPointThe IPEndPoint representing the DNS server.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
Exceptions
- ArgumentNullException
serveris null.
AddDnsServer(string)
Adds a DNS server to the resolver.
public ResolverBuilder AddDnsServer(string serverAddress)
Parameters
serverAddressstringThe endpoint of the DNS server to be added.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
AddDnsServer(string, int)
Adds a DNS server to the resolver.
public ResolverBuilder AddDnsServer(string serverAddress, int port)
Parameters
serverAddressstringThe string representing the DNS server to be added.
portintThe port number of the DNS server.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
Remarks
A null address is a caller mistake and throws. An address that is merely unparseable is dropped and the builder returned unchanged, since such a value may come from configuration.
Exceptions
- ArgumentNullException
serverAddressis null.
AddDnsServers(IEnumerable<IPEndPoint>)
Adds multiple DNS servers to the resolver.
public ResolverBuilder AddDnsServers(IEnumerable<IPEndPoint> dnsServers)
Parameters
dnsServersIEnumerable<IPEndPoint>A collection of IPEndPoint representing the DNS servers to be added.
Returns
- ResolverBuilder
The current ResolverBuilder instance for further configuration.
Exceptions
- ArgumentNullException
dnsServersis null or contains a null entry.
Begin()
Creates a new instance of the ResolverBuilder class.
public static ResolverBuilder Begin()
Returns
- ResolverBuilder
A new ResolverBuilder instance for configuring a DNS resolver.
Build()
Builds and returns a configured instance of the Resolver class.
public Resolver Build()
Returns
EnableCache()
Enables caching for the DNS resolver.
public ResolverBuilder EnableCache()
Returns
- ResolverBuilder
The current ResolverBuilder instance.
EnableLogging(IUbietyLogManager)
Enables logging for the DNS resolver.
public ResolverBuilder EnableLogging(IUbietyLogManager logManager)
Parameters
logManagerIUbietyLogManagerAn Ubiety.Logging.Core.IUbietyLogManager instance to be used for logging.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
Exceptions
- ArgumentNullException
logManageris null.
SetRetries(int)
Sets the number of retry attempts for DNS resolution.
public ResolverBuilder SetRetries(int retries)
Parameters
retriesintThe number of retries to attempt.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
SetTimeout(int)
Sets the timeout duration for DNS resolver requests.
public ResolverBuilder SetTimeout(int timeout)
Parameters
timeoutintThe time in milliseconds to wait for a response before timing out.
Returns
- ResolverBuilder
The current ResolverBuilder instance.
UseRecursion()
Enables recursion for the DNS resolver.
public ResolverBuilder UseRecursion()
Returns
- ResolverBuilder
The current ResolverBuilder instance.