Просмотр разных directories в одно и то же время

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

val
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 14.11.2002 (Чт) 1:14

Просмотр разных directories в одно и то же время

Сообщение val » 08.03.2006 (Ср) 17:53

Имеется window service, который просматривает folder, ловит image фаил и вставляет image в базу данных. В данный момент работает на таймере. Так вот, мне надо изменит этот service, чтобы он просматривал разные папки в одно и тоже время. Это позволит мне setup разные директории для разных клиентов

Чтото наподобие multi treading. Каждый tread просматривает свою директорию, ловит event на прибывший фаил и исполняет работу.

Согласен использовать timer или SystemFileWatcher (что полегче и получше).

Буду признателен за идеи.

Val
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 09.03.2006 (Чт) 9:14

Используй FileSystemWatcher и не нужны никакие потоки.
Принцип прост:

Код: Выделить всё
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim FSW As New IO.FileSystemWatcher("C:\UserFolder")
        FSW.NotifyFilter = IO.NotifyFilters.DirectoryName Or IO.NotifyFilters.FileName Or IO.NotifyFilters.Attributes Or IO.NotifyFilters.Size
        FSW.IncludeSubdirectories = True

        AddHandler FSW.Created, AddressOf FSW_Changed
        AddHandler FSW.Changed, AddressOf FSW_Changed
        AddHandler FSW.Deleted, AddressOf FSW_Changed

        FSW.EnableRaisingEvents = True
    End Sub

    Private Shared Sub FSW_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs)
        Dim Out As New System.Text.StringBuilder

        Out.AppendLine("Event Type: " & e.ChangeType.ToString)
        Out.AppendLine("Full Path : " & e.FullPath)
        MsgBox(Out.ToString)
    End Sub


Если надо создай несколько обьектов FileSystemWatcher.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

val
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 14.11.2002 (Чт) 1:14

Сообщение val » 09.03.2006 (Чт) 17:05

Спасибо за совет.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 109

    TopList