2012-04-15 3 views
0

Im essayant de faire un système de connexion simple à l'aide des fichiersVB.NET HttpWebResponse WebException travail autour

Dim response As System.Net.HttpWebResponse = request.GetResponse() 
     If response.StatusCode = HttpStatusCode.NotFound Then 
     MsgBox("Invalid Login") 
Else 

My Code Here 

Mais quand je debug, et le tester, il me donne toujours l'erreur 404. et pas le popup.

Y at-il un autre moyen de contourner cela?

EDIT:

Voici mon code

 Try 
     Dim response As HttpWebResponse = request.GetResponse() 

     MessageBox.Show("Allgood") 
    Catch ex As WebException 
     If response.StatusCode = HttpStatusCode.NotFound Then 
      MsgBox("Invalid Login") 
     End If 
       End Try 
    Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream()) 
    Dim passcheck As String = sr.ReadToEnd 
    Dim pass As String = PasswordTextBox.Text 
    If passcheck.Contains(pass) Then 
     MessageBox.Show("Welcome " + UsernameTextBox.Text) 
     Form1.Show() 
     Me.Close() 
    Else 
     MessageBox.Show("Invalid Login") 

    End If 

End Sub 

Répondre

0

Bizarre, assurez-vous que votre application est un formulaire d'application Windows dans les propriétés du projet. Toutefois, comme solution de contournement, vous pouvez utiliser le code suivant pour l'imprimer dans Visual Studio Output Window.

Debug.WriteLine("Invalid Login") 

Pour activer la 'sortie fenêtre' aller dans le menu 'View' puis 'Sortie' ou appuyez simplement sur Ctrl +W + O .

+0

Je ne comprends pas très bien ce que vous dites? – Ron

+0

Au lieu d'utiliser ** MessageBox **, utilisez simplement ** Debug.WriteLine ** et vérifiez la sortie dans Visual Studio. –

+0

Toujours ne montrant rien de différent dans la sortie – Ron

1

Je crois qu'il lance un WebException, donc vous devez placer GetResponse dans un bloc Try Catch et intercepter l'exception Web, puis afficher votre propre boîte de dialogue.

Dim response As System.Net.HttpWebResponse 
Try 
    response = request.GetResponse() 

    'If it gets here, it did not throw an exception 
    MessageBox.Show("It's all good.") 
Catch ex as WebException 
    If DirectCast(ex.Response, System.Net.HttpWebResponse).StatusCode = HttpStatusCode.NotFound Then 
     MsgBox("Invalid Login") 
    End If 
End Try 
+0

Pouvez-vous expliquer comment j'irais faire cela? – Ron

+0

J'ai mis à jour la réponse avec un exemple. –

+0

Edited mon code dans le post. – Ron