0
這是用於將數據寫入到同一個文件的多線程如何從私人共享子vb.net調用公共子
Dim _readWriteLock As ReaderWriterLockSlim = New ReaderWriterLockSlim
Private Sub writedatatofile(ByVal s As String)
' Set Status to Locked
_readWriteLock.EnterWriteLock()
Try
' Append text to the file
Dim sw As StreamWriter = File.AppendText("textfile.txt")
sw.WriteLine(s)
sw.Close()
Finally
' Release lock
_readWriteLock.ExitWriteLock()
End Try
End Sub
這是獲取異步響應
Private Shared Sub GetResponseCallback(ByVal asynchronousResult As IAsyncResult)
Dim response As HttpWebResponse = CType(request.EndGetResponse(asynchronousResult), _
HttpWebResponse)
writedatatofile(Response.Headers.Tostring)
End Sub
whene我從GetresponseCallback調用writedatatofile我收到此錯誤:無法從共享方法或共享成員初始值設定項中引用類的實例成員,但沒有該類的顯式實例
如何將異步響應中的安全多線程寫入相同的文本文件?
而writedatatofile不是公開的BTW,正如問題標題中提到的。 – Abhitalks
@abhitalks看起來這兩種方法都屬於同一個類,所以它不是公共的並不重要。如果公共方法的類型相同,則可以調用Private方法。 – vcsjones
是的,我試過了,但它也是begingetrequeststream,所以我應該刪除共享修飾符!謝謝 – K3rnel31