Private MyCon As New SqlConnection Private mclsDbCommon As DbCommon Private MyDataAdapter As New SqlDataAdapter Private MySelectCommand As New SqlCommand Private MyDataSet As New DataSet("MyNewDataSet") Private DataLength As Integer Private TotalStationNum As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Try Dim myThread As Thread myThread = New Thread(New ThreadStart(AddressOf StartListenForConnection)) myThread.Name = "myThread" myThread.Start()
Catch ex As Exception MsgBox("localServer_PageLoad: " & ex.Message) End Try End If End Sub Private Sub StartListenForConnection() Dim intPort As Integer = 8490 Dim myTcpListener As TcpListener myTcpListener = New TcpListener(IPAddress.Any, intPort) Try myTcpListener.Start()
While (True) If myTcpListener.Pending Then Dim mySocketThread As SocketThread Dim MySocket As Socket = myTcpListener.AcceptSocket mySocketThread = New SocketThread mySocketThread.Start(MySocket) End If Thread.Sleep(100) End While
Catch ex As SocketException MsgBox("localServer_StartListenForConnection_SocketException: " & ex.Message) Catch ex As Threading.ThreadAbortException MsgBox("localServer_StartListenForConnection_ThreadAbortException: " & ex.Message) Catch ex As Exception MsgBox("localServer_StartListenForConnection: " & ex.Message) End Try
End Sub ............... 主页面上还有dropdownlist,在dropdownlist的SelectedIndexChanged事件时打开新页面,同时原页面保留,用的语句是: If ddlDataAndPic.SelectedValue = 1 Then Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "openNew", " <script language='javascript'>window.open('TotalConsum.aspx') </script>") end if
新页面只做些查库显示数据之类的事情,别无它用,但是发现,在新页面打开后,如果对新打开的页面不进行任何操作,则没什么影响,但是一旦操作了,点按钮啊,查库啊之类的就会终止我的myThread线程,是在 Catch ex As Threading.ThreadAbortException 的地方出现异常,而且操作时间很随机,有时候长,又时候短。