API Reference
Class
DnsPropagationMonitor
Monitors DNS propagation discrepancies over time.
Inheritance
- Object
- DnsPropagationMonitor
Remarks
Regular queries against a set of public resolvers track how quickly records spread and highlight inconsistent answers.
Constructors
public DnsPropagationMonitor() #Methods
public Void AddServer(PublicDnsEntry entry) #Returns:
VoidAdds a custom DNS server.
Parameters
- entry DomainDetective.PublicDnsEntry
- Server entry.
public Void LoadServers(String filePath) #Returns:
VoidLoads DNS servers from JSON file.
Parameters
- filePath System.String
- Path to server list. If null or empty the builtin list is loaded.
public async Task RunAsync(CancellationToken ct = null) #Returns:
TaskRuns a single propagation check.
Parameters
- ct System.Threading.CancellationToken = null
public Void UseCustom(Func<String, CancellationToken, Task> handler) #Returns:
VoidConfigure a custom notification handler.
Parameters
- handler System.Func{System.String,System.Threading.CancellationToken,System.Threading.Tasks.Task}
public Void UseEmail(String smtpHost, Int32 port, Boolean useSsl, String from, String to, String username = null, String password = null) #Returns:
VoidConfigure an email notification.
Parameters
- smtpHost System.String
- port System.Int32
- useSsl System.Boolean
- from System.String
- to System.String
- username System.String = null
- password System.String = null
public Void UseWebhook(String url) #Returns:
VoidConfigure a webhook notification.
Parameters
- url System.String
Inherited Methods
public override Boolean Equals(Object obj) #Returns:
BooleanInherited from Object
Parameters
- obj Object
Properties
public String Domain { get; set; } #Domain to query.
public DnsRecordType RecordType { get; set; } #Record type to check.
public TimeSpan Interval { get; set; } #Interval between checks.
public INotificationSender Notifier { get; set; } #Notification sender.
public Func<IEnumerable<PublicDnsEntry>, CancellationToken, Task<List<DnsPropagationResult>>> QueryOverride { get; set; } #Override query for testing.
public Nullable<CountryId> Country { get; set; } #Country filter for builtin servers.
public Nullable<LocationId> Location { get; set; } #Location filter for builtin servers.
public ConcurrentBag<PublicDnsEntry> CustomServers { get; } #Additional user supplied servers.
public Int32 MaxParallelism { get; set; } #Maximum concurrent DNS queries.