【发布时间】:2014-02-06 22:12:30
【问题描述】:
我正在做线程化的网络请求。如何将参数“index”从 Start() 子传递到 GetResponseCallback()?
两个潜艇:
Shared Sub Start(ByVal index As Integer)
Dim request As HttpWebRequest = CType(WebRequest.Create("http://sternbud.com/login/checklogin.php"), HttpWebRequest)
request.ContentType = "application/x-www-form-urlencoded"
request.Method = "POST"
Debug.Print(index & ">" & AccountArray(dictThread.Keys(index)))
Dim result As IAsyncResult = CType(request.BeginGetRequestStream(AddressOf GetRequestStreamCallback, request), IAsyncResult)
allDone.WaitOne()
End Sub
Private Shared Sub GetRequestStreamCallback(ByVal asynchronousResult As IAsyncResult)
Dim request As HttpWebRequest = CType(asynchronousResult.AsyncState, HttpWebRequest)
Dim postStream As Stream = request.EndGetRequestStream(asynchronousResult)
Dim postData As [String] = "myusername=" & AccountArray(AccountIndex) & "&mypassword=test"
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
postStream.Write(byteArray, 0, postData.Length)
postStream.Close()
Dim result As IAsyncResult = CType(request.BeginGetResponse(AddressOf GetResponseCallback, request), IAsyncResult)
End Sub
【问题讨论】:
标签: multithreading parameters webrequest