在C#剃须刀页面上运行DNSClient.Net

时间:2020-09-26 16:31:46

标签: c# razor-pages

我是编码的新手,但是可以重用代码。 我只是找不到在剃刀页面上运行代码并显示信息的好例子。

这是我要在剃须刀网页上运行的代码:

enter code here

@页面“ / revdns” @inject DnsClient

反向DNS检查器

我们将在其中显示DNS记录。

@记录

@ip

@code {

string lookup = new LookupClient();
string result = await lookup.QueryAsync("google.com", QueryType.A);

string record = result.Answers.ARecords().FirstOrDefault();
string ip = record?.Address;

}

希望有人可以提供帮助

我现在已经调整了代码

我是编码的新手,希望能为您提供帮助。我收到以下错误。

错误CS0103当前上下文中不存在名称'QueryType'

错误CS0103当前上下文中不存在名称“记录”

@页面“ / dnsquery”

DNS查询

我们将在其中显示DNS记录。

记录:@Record

IP地址:@Ip

@code {

protected override async Task OnInitializedAsync()
{
    
    var lookup = new DnsClient.LookupClient();
    var result = await DnsClient.LookupClient.QueryAsync("google.com", QueryType.A);
    Record = result.Answers.ARecords().FirstOrDefault();
    Ip = record?.Address;
}

string Record = "Loading...";
string Ip = "Loading...";

}

1 个答案:

答案 0 :(得分:0)

您不能在字段声明中使用'async'关键字-您可能想在其中一种生命周期方法中进行实际查找(为简单起见,示例使用OnInitialized-也请查看OnAfterRender)

注意,没有说明什么是LookupClient或为什么要注入DnsClient ...

@page "/revdns" 
@inject DnsClient

Reverse DNS Checker
This where we will display the DNS records..

@Record

@Ip

@code {

     protected override async Task OnInitializedAsync(){
        string lookup = new LookupClient();
        string result = await lookup.QueryAsync("google.com", QueryType.A);
        Record = result.Answers.ARecords().FirstOrDefault();
        Ip = record?.Address;
     }

    string Record = "Loading...";
    string Ip = "Loading...";
}