Я занимаюсь в течение последних нескольких часов, чтобы получить базовую реализацию BlockingCollection для работы. Кажется, я не могу найти учебник в VB.NET для жизни, поэтому я пытался получить что-то из учебников на C#.Basic BlockingCollection Producer Consumer в VB.NET
Я просто хочу получить базовую реализацию, чтобы я мог продвигаться к тому, что мне действительно нужно. Но я застрял.
Это мой код в настоящее время:
Dim blockingCollection As BlockingCollection(Of String) = New BlockingCollection(Of String)
Dim count As Integer = 0
Task.Factory.StartNew(Sub()
While (True)
blockingCollection.Add("value" + count)
count = count + 1
End While
End Sub)
Task.Factory.StartNew(Sub()
For Each value As String In blockingCollection.GetConsumingEnumerable()
Debug.Print("Worker 1: " + value)
Next
End Sub)
я не получаю никакого вывода из работы этого только следующие исключения:
Первый шанс исключение типа «System.FormatException» произошло в mscorlib.dll Первое случайное исключение типа «System.FormatException» произошло в Microsoft.VisualBasic.dll. Первое случайное исключение типа «System.InvalidCastExcepti on 'произошел в Microsoft.VisualBasic.dll
Я искал поисковые запросы в течение последних нескольких часов, чтобы попытаться разрешить это, но безрезультатно. Надеюсь, кто-то здесь может помочь.
Благодаря
Положите опцию Strict On в начале файла исходного кода, и компилятор расскажет вам о проблеме. Избегайте добавления строки и числа, используйте count.ToString(). Также показывает, что важно * проверить *, если задача выполнена успешно. Используйте ContinueWith() с TaskContinuationOptions.OnlyOnFaulted, чтобы сообщать об исключениях. –