gpt4 book ai didi

c# - 如何ping网站并在gridview中显示状态

转载 作者:行者123 更新时间:2023-11-30 23:26:33 26 4
gpt4 key购买 nike

我有一个包含三列的 GridView 。网站名称、URL、状态。我从 xml 文件中获取网站名称和 URL。获取 url frm xml 文件后,我想 ping 该网站。如果 ping 成功,则 gridview 中的状态列将为绿色。如果 ping 失败,则状态栏将为红色。

下面是我的代码。

foreach (XmlNode node in nodeList)
{
string Instance = node.Attributes["name"].Value.Trim();
foreach (XmlNode nodeChild in node.ChildNodes)
{
DataRow dr = dtIPCheckList.NewRow();

dr["Instance"] = Instance;
dr["WebServer"] = nodeChild.Attributes["name"].Value.Trim();
dr["URL"] = nodeChild.Attributes["IPFQDN"].Value.Trim();
dr["Status"] = "GREEN"; //hardcoding at the moment.
dtIPCheckList.Rows.Add(dr);
}
}

现在我正在对状态进行硬编码,但我想根据成功或失败来 ping 并显示状态。

请指导我。

最佳答案

我刚写了这个简单的程序,它似乎可以工作:

namespace WebsitePingTest
{
using System;
using System.Data;
using System.Drawing;
using System.Net.NetworkInformation;
using System.Windows.Forms;

public partial class Form1 : Form
{
public Form1()
{
this.InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
var dt = new DataTable();
dt.Columns.Add(new DataColumn("Websitename", typeof(string)));
dt.Columns.Add(new DataColumn("URL", typeof(string)));
dt.Columns.Add(new DataColumn("Status", typeof(string)));

var row = dt.NewRow();
row["Websitename"] = "Google";
row["URL"] = "www.google.com";
dt.Rows.Add(row);

row = dt.NewRow();
row["Websitename"] = "Yahoo";
row["URL"] = "www.yahoo.com";
dt.Rows.Add(row);

row = dt.NewRow();
row["Websitename"] = "xasfjhasfkjh";
row["URL"] = "www.xasfjhasfkjh.com";
dt.Rows.Add(row);

var view = new DataView(dt);
this.dataGridView1.DataSource = view;

foreach (DataGridViewRow dataGridViewRow in dataGridView1.Rows)
{
var url = dataGridViewRow.Cells[1].Value.ToString();

var ping = new Ping();

PingReply result = null;
IPStatus status;
try
{
result = ping.Send(url);
status = result.Status;
}
catch (Exception ex)
{
status = IPStatus.DestinationHostUnreachable;
}

if (status != IPStatus.DestinationHostUnreachable)
{
dataGridViewRow.Cells[2].Style.BackColor = Color.Green;
}
else
{
dataGridViewRow.Cells[2].Style.BackColor = Color.Red;
}
}
}
}
}

Website Statuses

关于c# - 如何ping网站并在gridview中显示状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com