FileSystemWatcher, Web.config und ASP.NET

10/11/2007 - 21:03 von Dirk Hammann | Report spam
Hallo zusammen,
ich möchte per FileSystemWatcher eine Datei überwachen, die erweiterte
Informationen für die Anwendung
enthàlt, deren Inhalt ich aber nicht in Web.config unterbringen kann, und
die sich períodisch àndern kann.

Mit folgendem Code funktioniert das auch. Wenn ich mit dem gleichen Code
dagegen die Web.config auf Änderungen überwachen will,
funktioniert der Code genau 1x.

Warum ist das so?? Gibt es dazu einen Erklàrung, die nachvollziehbar ist,
denn für den FileSystemWatcher sollte doch jede Datei erstmal nur einfach
eine Datei sein, ohne das Wissen darüber, das dies ein spezieller Name ist?

Danke + Grüße
Dirk



public class Global : System.Web.HttpApplication
{
private FileSystemWatcher watcher;

public Global()
{
InitializeComponent();

}

protected void Application_Start(Object sender, EventArgs e)
{
watcher = new FileSystemWatcher();

watcher.Path = @"C:\Temp\website1";
watcher.Filter = "log.config";

// Set the notification filters
watcher.NotifyFilter = NotifyFilters.CreationTime |
NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName;

// Add event handlers. OnChanged will do for all event handlers that
fire a FileSystemEventArgs
watcher.Changed += new
FileSystemEventHandler(ConfigureAndWatchHandler_OnChanged);
watcher.Created += new
FileSystemEventHandler(ConfigureAndWatchHandler_OnChanged);
watcher.Deleted += new
FileSystemEventHandler(ConfigureAndWatchHandler_OnChanged);
watcher.Renamed += new
RenamedEventHandler(ConfigureAndWatchHandler_OnRenamed);

// Begin watching.
watcher.EnableRaisingEvents = true;
}

private void ConfigureAndWatchHandler_OnChanged(object source,
FileSystemEventArgs e)
{
System.Media.SystemSounds.Beep.Play();
}

private void ConfigureAndWatchHandler_OnRenamed(object source,
RenamedEventArgs e)
{
System.Media.SystemSounds.Beep.Play();
}

private void InitializeComponent()
{
}
}
 

Lesen sie die antworten

#1 Robert Mischke
10/11/2007 - 21:41 | Warnen spam
Hallo Dirk

Mit folgendem Code funktioniert das auch. Wenn ich mit dem gleichen Code
dagegen die Web.config auf Änderungen überwachen will,
funktioniert der Code genau 1x.

Warum ist das so?? Gibt es dazu einen Erklàrung, die nachvollziehbar ist,
denn für den FileSystemWatcher sollte doch jede Datei erstmal nur einfach
eine Datei sein, ohne das Wissen darüber, das dies ein spezieller Name ist?



Hmm,

wenn Du die web.config ànderst, dann wird die application neu
gestartet.

Was heißt du müßtest die web seite wieder aufrufen, damit der
application_start event neu gefeuert wird..

Vielleicht hat es etwas damit zu tun?



System.Media.SystemSounds.Beep.Play();
Cool :-) Darauf wàre ich nie gekommen.

Wobei ich denke, dass für Dein Problem ein Service vielleicht ein gute
Lösung wàre, der auch das überwachen löst? Und Deine Webseite sollte
da wohl nicht mehr als ne UI sein..

Viele Grüße
Robert

www.speak-friend.com

Ähnliche fragen