我正在使用Asp.net mvc5,我的表中包含“ id”和“ server_IP”之类的字段,其中填充了n个服务器ip。并希望根据ping显示每个IP的状态“成功”或“超时”。
我已经使用了以下内容;
Ping myPing = new Ping();
PingReply reply = myPing.Send("8.8.8.8", 1000);
if (reply != null)
{
ViewData["ip_stat"] = reply.Status;
}
我无法在视图列表中使用它,因此每个服务器的状态都可以显示为
服务器状态 8.8.8.8成功 192.168.10.10超时 192.168.100.1成功
注意 阿鲁·萨哈尼(ARUN SAHANI)
答案 0 :(得分:0)
不确定我是否正确理解了您的问题,但是根据您正在寻找的输出类型以及初始化viewstate的方式,我认为您应该在将ip和状态传递给viewstate的同时将其连接起来。 / p>
类似这样的东西:
ViewData["ip_stat"] = reply.Address + " " + reply.Status;
希望有帮助。
针对从某些表中提取地址并需要将其传递给viewstate的情况进行了编辑
// suppose this variable has the list of IP addresses from the table
var addresses = new List<string> {"8.8.8.8", "192.168.10.10", "192.168.10.8"}
var ipStatusDict = new Dictionary<string, string>();
//iterate over the list, fetch the status for each ip and add it within the dictionary
foreach(var ip in addresses)
{
var reply = new Ping().Send(ip, 1000);
if (reply != null)
{
ipStatusDict.Add(reply.Address, reply.Status);
}
}
ViewData["ip_stat"] = ipStatusDict;