Vb.net 后台程序不循环
我有一个程序,在后台循环运行,以检查网站上的页面是否已被更改。它工作一次并显示消息框,但如果我再次更改它,它将不会起任何作用Vb.net 后台程序不循环,vb.net,Vb.net,我有一个程序,在后台循环运行,以检查网站上的页面是否已被更改。它工作一次并显示消息框,但如果我再次更改它,它将不会起任何作用 Imports System.Net Imports System.String Imports System.IO Module Main Sub Main() While 1 = 1 Dim client As WebClient = New WebClient()
Imports System.Net
Imports System.String
Imports System.IO
Module Main
Sub Main()
While 1 = 1
Dim client As WebClient = New WebClient()
Dim reply As String = client.DownloadString("http://noahcristinotesting.dx.am/file.txt")
If reply.Contains("MsgBox") Then
Dim Array() As String = reply.Split(":")
MessageBox.Show(Array(2), Array(1))
Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://noahcristinotesting.dx.am/noahcristinotesting.dx.am/file.txt"), System.Net.FtpWebRequest)
request.Credentials = New System.Net.NetworkCredential("username", "password")
request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim path As String = "C:\test.txt"
Dim createText As String = "completed"
File.WriteAllText(path, createText)
Dim fileftp() As Byte = System.IO.File.ReadAllBytes("C:\test.txt")
Dim strz As System.IO.Stream = request.GetRequestStream()
strz.Write(fileftp, 0, fileftp.Length)
strz.Close()
strz.Dispose()
End If
End While
End Sub
End Module
目前不确定在IDE之外运行时是什么导致它崩溃,但请尝试捕获循环中抛出的异常。我想有一个例外发生了,你的应用程序崩溃了。下面的catch块决不是生产就绪的,通常您希望捕获特定的异常以便有效地处理它们,但这是一种查看是否抛出异常以及运行时异常是什么的廉价方法
Sub Main()
Try
While 1 = 1
Dim client As WebClient = New WebClient()
Dim reply As String = client.DownloadString("http://noahcristinotesting.dx.am/file.txt")
If reply.Contains("MsgBox") Then
Dim Array() As String = reply.Split(":")
MessageBox.Show(Array(2), Array(1))
Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://noahcristinotesting.dx.am/noahcristinotesting.dx.am/file.txt"), System.Net.FtpWebRequest)
request.Credentials = New System.Net.NetworkCredential("username", "password")
request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim path As String = "C:\test.txt"
Dim createText As String = "completed"
File.WriteAllText(path, createText)
Dim fileftp() As Byte = System.IO.File.ReadAllBytes("C:\test.txt")
Dim strz As System.IO.Stream = request.GetRequestStream()
strz.Write(fileftp, 0, fileftp.Length)
strz.Close()
strz.Dispose()
End If
End While
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
或者,您可以在windows中检查事件查看器,查看是否记录了.net应用程序异常。事件查看器>Windows日志>应用程序它在studio中运行时有效,但在我从exe运行它时无效。当您在调试器中逐步执行此操作时,它在何处/如何具体失败?如果只是生产设置失败,你能添加一些日志来缩小问题范围吗?@David当消息框弹出时,进程消失,但当我单击“确定”时,我返回2秒钟,然后消失我选中了事件查看器,结果我只需要以管理员身份运行它-_-