FileSystemWatcher Created-Ereignis wird nicht für alle erstellten Dateien ausgelöst

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: FileSystemWatcher Created-Ereignis wird nicht für alle erstellten Dateien ausgelöst

by Guest » 25 Dec 2024, 19:40

Ich möchte Dateiinformationen für alle in einem Verzeichnis erstellten Dateien in eine Datenbank einfügen. Mein Programm macht das, wenn ich eine kleine Anzahl von Dateien im Verzeichnis ablege, aber es bekommt nicht alle, wenn ich größere Mengen auf einmal im Verzeichnis ablege (ich habe nicht viel getestet, aber es wurden nur ca 200 Namen in meine Datenbank aufgenommen, als ich versuchte, 800 Dateien gleichzeitig im Verzeichnis abzulegen).

Hier ist mein Code:

Code: Select all

static void Main(string[] args)
{
// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\dropDirectory";

// Add event handlers.
watcher.Created += new FileSystemEventHandler(OnChanged);

// Begin watching.
watcher.EnableRaisingEvents = true;

while(DateTime.Now.Hour < 10);
}

private static void OnChanged(object source, FileSystemEventArgs e)
{
string strInsert = "INSERT INTO  Files (Filename) VALUES ('" + e.Name + "')";
string strConnection = "Server = server_name; Database = database_name; User Id = user_id; Password = password;";
using (SqlConnection con = new SqlConnection(strConnection))
{
using (SqlCommand cmd = new SqlCommand(strInsert, con))
{
con.Open();
cmd.ExecuteScalar();
}
}
}
Welche Änderungen muss ich vornehmen, damit meine OnChanged-Methode für jede im Zielverzeichnis abgelegte Datei aufgerufen wird, unabhängig von der Anzahl der gleichzeitig abgelegten Dateien? Vielen Dank im Voraus.

Top