2013-05-08 2 views
0

J'essaie d'utiliser une simple technique Ping pour envoyer une requête ping à une adresse IP. J'ai ajouté Imports System.Net.NetworkInformation.Ping à ma page Web et j'ai essayé de créer simplement un bouton qui a cliqué une fois sur une adresse IP.Utilisation d'ASP.net 2010 B pour envoyer une adresse IP par ping

Le problème que j'ai un message d'erreur indiquant 'System.Net.NetworkInformation' is a namespace and cannot be used as an expression.

Je suis nouveau à cela et ai essayé de le remplacer par autre chose, mais je ne peux toujours pas sembler pour obtenir ce travail. Serait-il possible pour quelqu'un d'examiner cela et laissez-moi savoir où je me trompe. Im en utilisant VB et VS2010. Ceci est mon code:

Imports System.Text 
Imports System.Net.NetworkInformation.Ping 

Partial Class Ping 
Inherits System.Web.UI.Page 


Protected Sub btnPing_Click(sender As Object, e As System.EventArgs) Handles btnPing.Click 

    Using System.Net.NetworkInformation 

     Ping(Ping = New Ping()) 
     PingReply(pingReply = Ping.send("xxx.xx.xxx.xx")) 

     Console.WriteLine("Address: {0}", pingReply.address) 
     Console.WriteLine("Status: {0}", pingReply.Status) 

    End Using 

End Sub 
End Class 
+0

http://msdn.microsoft.com/en-us/library/zt9tafza.aspx – SLaks

+1

Le 'l'aide System.Net.NetworkInformation' La déclaration est erronée lorsque vous essayez d '«utiliser» un espace de noms - ce que vous ne pouvez pas faire. Je ne suis pas sûr de ce qu'il devrait être remplacé par (si quelque chose) – ChrisF

+0

@ChrisF, Si je supprime le 'Using System.Net.NetworkInformation' de l'événement btnPing_Click. Chaque élément Ping dans le code btnPing_Click a la ligne bleue en-dessous avec un message d'erreur indiquant que Ping est un type et ne peut pas être utilisé comme une expression. c'est le même message pour 'PingReply'. –

Répondre

3

Vous seriez mieux d'essayer ce qui suit:

Imports System.Text Importations System.Net.NetworkInformation

Partial Class Ping 
Inherits System.Web.UI.Page 


Protected Sub btnPing_Click(sender As Object, e As System.EventArgs) Handles btnPing.Click 
     Dim vPing As New Ping 
     Dim vPingReply As PingReply = vPing.Send("xxx.xx.xxx.xx") 
     Console.WriteLine("Address: {0}", vPingReply.Address) 
     Console.WriteLine("Status: {0}", vPingReply.Status) 
End Sub 

System.Net.NetworkInformation est juste un espace de noms, il sert simplement de conteneur pour d'autres classes.

+0

Mai merci qui a un sens sur le conteneur pour les autres classes. Si j'essaye votre exemple de code ci-dessus, j'obtiens une erreur dans la section 'vPingReply.Send'. Je reçois la ligne bleue normale sous l'élément et un message lorsque je survole les états "Envoyer n'est pas membre de System.Net.NetworkInformation.PingReply". J'ai ajouté Imports System.Net.NetworkInformation.PingReply au début de ma page mais j'ai toujours une erreur? –

+0

L'objet 'vPingReply' est utilisé en appelant la méthode 'vPing.Send'. J'ai mis à jour le code pour le clarifier. – reno812

+0

merci beaucoup cela semble avoir résolu le problème une fois que j'ai créé une propriété pour l'objet Envoyer. –

1

Vous avez nommé votre classe de page Ping, qui est le même nom que la classe .NET que vous instanciez.

Partial Class Ping 
Inherits System.Web.UI.Page 

Ailleurs dans votre code, vous essayez d'utiliser la classe Ping .NET. Je sais que cela peut causer des problèmes dans certains types de projets.

Essayez de nommer votre page PingPage à la place *.

* Outre les autres suggestions ici sur les espaces de noms, etc.

Questions connexes