Почему мой filesystemwatcher использует так много ресурсов процессора? Vb.net
Привет всем это, вероятно, мой последний вопрос здесь, так как я многому научился на этом сайте относительно vb.net-есть только одна вещь, которую я, кажется, могу понять. Мой filesystemwatcher использует примерно 50-процентную загрузку процессора, и мне было интересно, может ли кто-нибудь отредактировать мой код, чтобы изменить использование (более низкое использование процессора), а также сказать мне, почему оно так высоко. Спасибо
вот код, помните, что это всего лишь один, даже у меня есть любое событие для переименования, создания, изменения, удаления :::
Private Sub FileSystemWatcher1_Renamed(ByVal sender As System.Object, ByVal e As System.IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed Dim OpenFileDialog3 As String Try Detect.Labellastreal.Text = e.FullPath ListBox3.Items.Add(Detect.Labellastreal.Text) OpenFileDialog3 = "" Dim md5 As New MD5CryptoServiceProvider Dim f As New FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.Read, &H2000) md5.ComputeHash(f) Dim hash As Byte() = md5.Hash Dim buff As New StringBuilder Dim hashByte As Byte For Each hashByte In hash buff.Append(String.Format("{0:X2}", hashByte)) Next f.Close() If My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Database\UnwantedProgs.txt").Contains(buff.ToString) Then OpenFileDialog3 = e.FullPath File.Move(Detect.Labellastreal.Text, Path.Combine("C:\ProgramData\DreamyTS\Infected\", Path.GetFileName(Detect.Labellastreal.Text))) Detect.ShowDialog() WriteToLog("Unwanted Program detected") End If Catch exception1 As Exception ProjectData.SetProjectError(exception1) Dim ex As Exception = exception1 ProjectData.ClearProjectError() End Try End Sub
Все это работает просто высокая загрузка процессора
Что я уже пробовал:
я действительно не знаю, что делать, чтобы быть честным...
Mehdi Gholam
Попробуйте прокомментировать свой код и увидеть разницу.
CodingIsDreamy
мой код находится выше
Mrunal Sonawane
xD
CodingIsDreamy
я не понимаю, что вы имеете в виду?
Mrunal Sonawane
Он говорит, что поместите свой код в комментарий...
- Это комментарий... Лол
Mehdi Gholam
Очевидно, что код потребляет циклы процессора, прокомментируйте их, чтобы увидеть, где он находится.
CodingIsDreamy
Private Sub FileSystemWatcher1_Renamed(ByVal sender As System.Object, ByVal e As System.IO.RenamedEventArgs) обрабатывает FileSystemWatcher1.Renamed
Dim OpenFileDialog3 Как Строка
Попробуй
Обнаружить.Labellastreal.Текст = е.Полный путь
ListBox3.Предметы.Добавить(Detect.Labellastreal.Текст)
OpenFileDialog3 = ""
Dim md5 как новый MD5CryptoServiceProvider
Дим F как новый файловый поток(Эл.Полный Путь, Содержит Filemode.Открой, FileAccess.Читай, Файлообменник.Читать, &H2000)
алгоритма MD5.Метода computehash(Ф)
Dim hash As Byte() = md5.Hash
Тусклый бафф как новый строитель струн
Dim hashByte As Byte
Для каждого хэшбайта в хэше
полировать.Append(Строка.Формат("{0:X2}", хэшбайт))
Следующий
Ф.Рядом()
Если Мой ... Компьютер.Файловая Система.ReadAllText(Приложение.StartupPath & "\Database\UnwantedProgs.txt").Содержит(бафф.Метод toString) Затем
OpenFileDialog3 = е.Полный путь
Файл.Переместить(Обнаружить.Labellastreal.Текст, Путь.Комбайн("C:\ProgramData\DreamyTS\Infected\", Path.GetFileName(Detect.Labellastreal.Текст)))
Обнаружить.Метод showdialog()
WriteToLog("обнаружена нежелательная программа")
Конец, Если
Поймать исключение 1 как исключение
В статье projectdata.SetProjectError(исключение 1)
Dim ex как исключение = exception1
В статье projectdata.ClearProjectError()
Конец Попытки
Конец Подводной Лодки
Mrunal Sonawane
Да, конечно, он использует процессор... но комментировать это не очень хороший выбор... Это создаст больше ошибок, чем исправит их...
CodingIsDreamy
о, не могли бы вы исправить это для меня и рядом с исправлением объяснить, что я сделал не так?
CodingIsDreamy
или пример или что-то еще
Mrunal Sonawane
Для каждого хэшбайта в хэше
полировать.Append(Строка.Формат("{0:X2}", хэшбайт))
Нить.Сон(500)
Следующий
...
Может быть, попробуем вот это
Mrunal Sonawane
измените эти строки в своем коде
CodingIsDreamy
хорошо две секунды :-)
CodingIsDreamy
ладно я попробую сейчас :-)
Mrunal Sonawane
Конечно... Дайте мне знать...
CodingIsDreamy
ты это имеешь в виду? потому что чувак если нет то я запутался :-)
Dave Kreskowiak
Что у вас есть FileSystemWatcher смотреть? Вы заставили его смотреть всю дорогу?
CodingIsDreamy
да чувак с:\
Dave Kreskowiak
Вот тут-то и возникает твоя проблема. Смотрите мое решение ниже.
CodingIsDreamy
ладно круто
CodingIsDreamy
где ждать? у того другого чувака был оунсер, который очень помог, просто сказав всем, кто читает, чтобы перейти прямо к вашему, и его оунсер