Dateisystem mit C# überwachen 👍 👎

Manchmal kann es sinnvoll sein, ein Verzeichnis auf Änderungen zu überwachen – beispielsweise, um festzustellen, ob eine Datei hinzugefügt oder entfernt wurde. Statt nun periodisch das Verzeichnis zu durchsuchen und selbst eine Sammlung der jeweiligen Zustände und eine anschließende Überprüfung auf Änderungen durch Vergleich dieser durchzuführen, bietet sich die Verwendung der FileSystemWatcher-Klasse an.

Für unser konkretes Beispiel möchten wir das Verzeichnis "X:\Server\Logs" auf neue *.log-Dateien überwachen und erzeugen dazu eine entsprechende Instanz der o. g. Klasse:
FileSystemWatcher instanziieren und konfigurieren
01020304
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(@"X:\Server\Logs") {    EnableRaisingEvents = true,    Filter = "*.log"};
Abschließend abonnieren wir das Ereignis Created, welches bei neuen Dateien ausgelöst wird:
Ereignis abonnieren
010203040506
fileSystemWatcher.Created += (sender, e) => {    /**     * e.Name enthält nun den     * Namen der neuen Datei.    **/};
Selbstverständlich bietet die Klasse die Möglichkeit einer detaillierteren Konfiguration und weitere Ereignisse.

C# und die Zwischenablage 👍 👎

Da sich früher oder später wohl jeder Entwickler damit konfrontiert sieht, mit der Zwischenablage interagieren zu müssen, möchte ich hier prägnant zeigen, wie sich Text in der Zwischenablage speichern und wieder auslesen lässt:
Text in Zwischenablage speichern
01
Clipboard.SetText("Test-Text");
Text aus Zwischenablage auslesen
01
string content = Clipboard.GetText();
Die weiteren Methoden (z. B. für Grafiken) sind grundsätzlich genauso einfach zu verwenden und weitestgehend selbsterklärend. Im MSDN finden sich wie üblich weitere Hinweise und Beispiele.

Neujahr 👍 👎

Ich bedanke mich für das bisherige Interesse und wünsche ein glückliches und erfolgreiches neues Jahr 2014.

Ich würde mich natürlich sehr darüber freuen, dich auch im nächsten Jahr wieder hier begrüßen zu dürfen.

Datei per ASP.NET MVC hochladen 👍 👎

Vor einiger Zeit hatte ich bereits beschrieben, wie sich eine Datei per ASP.NET MVC ausliefern lässt. Ergänzend dazu möchte ich mit diesem Beitrag erklären, wie sich Dateien per ASP.NET MVC einfach hochladen lassen.

Zuerst erstellen wir eine minimale Ansicht (im Beispiel für eine Galerie) mit einem entsprechenden Formular:
View: ~/Views/Gallery/Upload.cshtml
010203040506
@using(Html.BeginForm("Upload", "Gallery", FormMethod.Post, new {    enctype = "multipart/form-data"})) {    <input type="file" name="file" />    <input type="submit" />}
Zur Verarbeitung verwenden wir die folgende einfache Methode im Controller:
Controller: ~/Controllers/GalleryController.cs
010203040506070809
public class GalleryController : Controller {    public ActionResult Upload(HttpPostedFileBase file = null) {        if(file != null) {            file.SaveAs(file.FileName);        }
return View(); }}
Über HttpPostedFileBase stehen uns – wie im Beispiel ersichtlich – insbesondere die Eigenschaft FileName mit dem ursprünglichen Dateinamen, sowie die praktische Methode SaveAs(…) zur Verfügung.

Auch mehrere Dateien hochzuladen ist kein Problem, dazu müssen wir der Methode Upload lediglich ein HttpPostedFileBase-Array übergeben:
Controller: ~/Controllers/GalleryController.cs (multiples Hochladen)
0102030405060708091011
public ActionResult Upload(HttpPostedFileBase[] files = null) {    if(files != null) {        foreach(HttpPostedFileBase file in files) {            if(file != null) {                file.SaveAs(file.FileName);            }        }    }
return View();}
Nun können wir in der Ansicht mehrere Felder zur Auswahl einer Datei anbieten:
View: ~/Views/Gallery/Upload.cshtml (multiples Hochladen)
0102030405060708
@using(Html.BeginForm("Upload", "Gallery", FormMethod.Post, new {    enctype = "multipart/form-data"})) {    <input type="file" name="files" />    <input type="file" name="files" />
<input type="submit" />}

Phonetische Suche 👍 👎

Ab sofort besteht die Möglichkeit, eine phonetische Suche im Blog zu verwenden, wodurch eine unscharfe Suche nach Begriffen mit ähnlichem Klang ermöglicht wird. Standardmäßig ist diese Option jedoch deaktiviert.

So werden beispielsweise "s", "ss" und "ß" gleich behandelt und somit viele Beiträge auch bei fehlerhaft geschriebenen Stichworten gefunden – es kann jedoch auch zu überflüssigen Ergebnissen kommen.

Zum verwendeten Algorithmus lassen sich weitere Informationen unter dem Begriff Kölner Phonetik finden.

Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche