@@ -31,42 +31,42 @@ internal class DnsClientWrapper : IDnsResolver
31
31
#endregion
32
32
33
33
// private fields
34
- private readonly LookupClient _lookupClient ;
34
+ private readonly Lazy < LookupClient > _lookupClient ;
35
35
36
36
// constructors
37
37
private DnsClientWrapper ( )
38
38
{
39
- _lookupClient = new LookupClient ( ) ;
39
+ _lookupClient = new Lazy < LookupClient > ( ( ) => new LookupClient ( ) ) ;
40
40
}
41
41
42
42
// public methods
43
43
public List < SrvRecord > ResolveSrvRecords ( string service , CancellationToken cancellationToken )
44
44
{
45
45
Ensure . IsNotNull ( service , nameof ( service ) ) ;
46
46
cancellationToken . ThrowIfCancellationRequested ( ) ;
47
- var response = _lookupClient . Query ( service , QueryType . SRV , QueryClass . IN ) ;
47
+ var response = _lookupClient . Value . Query ( service , QueryType . SRV , QueryClass . IN ) ;
48
48
return GetSrvRecords ( response ) ;
49
49
}
50
50
51
51
public async Task < List < SrvRecord > > ResolveSrvRecordsAsync ( string service , CancellationToken cancellationToken )
52
52
{
53
53
Ensure . IsNotNull ( service , nameof ( service ) ) ;
54
- var response = await _lookupClient . QueryAsync ( service , QueryType . SRV , QueryClass . IN , cancellationToken ) . ConfigureAwait ( false ) ;
54
+ var response = await _lookupClient . Value . QueryAsync ( service , QueryType . SRV , QueryClass . IN , cancellationToken ) . ConfigureAwait ( false ) ;
55
55
return GetSrvRecords ( response ) ;
56
56
}
57
57
58
58
public List < TxtRecord > ResolveTxtRecords ( string domainName , CancellationToken cancellationToken )
59
59
{
60
60
Ensure . IsNotNull ( domainName , nameof ( domainName ) ) ;
61
61
cancellationToken . ThrowIfCancellationRequested ( ) ;
62
- var response = _lookupClient . Query ( domainName , QueryType . TXT , QueryClass . IN ) ;
62
+ var response = _lookupClient . Value . Query ( domainName , QueryType . TXT , QueryClass . IN ) ;
63
63
return GetTxtRecords ( response ) ;
64
64
}
65
65
66
66
public async Task < List < TxtRecord > > ResolveTxtRecordsAsync ( string domainName , CancellationToken cancellationToken )
67
67
{
68
68
Ensure . IsNotNull ( domainName , nameof ( domainName ) ) ;
69
- var response = await _lookupClient . QueryAsync ( domainName , QueryType . TXT , QueryClass . IN , cancellationToken ) . ConfigureAwait ( false ) ;
69
+ var response = await _lookupClient . Value . QueryAsync ( domainName , QueryType . TXT , QueryClass . IN , cancellationToken ) . ConfigureAwait ( false ) ;
70
70
return GetTxtRecords ( response ) ;
71
71
}
72
72
0 commit comments