IISログを取得してデータベースに挿入するログパーサーをVB.Netで構築しようとしています。完全なデスクトップアプリケーションを実際に作成したことは一度もないので、私は多くの障害にぶつかっています。私の質問が非常に知らされていない場合は、ご容赦ください。私は走りながら歩くことを学んでいます。
私が使用しているコードは次のようになります。
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim logfile = "C:\ex111124.log"
Dim FileLength As Long = New System.IO.FileInfo(logfile).Length
logFileLabel.Text = logfile
Dim objReader As New System.IO.StreamReader(logfile)
Do While objReader.Peek() <> -1
OngoingLog.AppendText(objReader.ReadLine)
'BackgroundWorker1.ReportProgress(e.percentProgress)
Loop()
objReader.Close()
objReader = Nothing
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
'Me.crunchingProgress.Value = e.ProgressPercentage
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
Close()
End Sub
したがって、この関数は機能します。このウィンドウを開くと、ログファイルの読み取りが開始され、現在読み取られているすべての行でテキストボックスが更新されますが、crunchingProgressというメインスレッドの進行状況バーも更新されます。
どんな助けでも大歓迎です。