Tracker for CODERS-ONLINE projects
Zur effizienten Handhabung von Fehlern, Fragen und Vorschlägen zu meinen Projekten steht nun auch ein zentrales Tool bereit. Dieses ist für meine öffentlichen Projekte von jedem frei einsehbar und auch nutzbar.
Die meisten meiner Projekte bieten bereits eine integrierte Möglichkeit zur Meldung von Fehlern. Dies trifft u. a. auf die Übersetzung der Lua-Dokumentation und das Städteportal zu. Diese Projekte sind nun in der Lage, Einträge über einen Webservice direkt einzureichen. Ihr könnt deren Funktionen hierfür also weiterhin wie gewohnt nutzen. Es ist außerdem geplant, die Integration auf Feedback für diese Webpräsenz hier auszudehnen.
Zum Schutz vor Spam bitte ich um Verständnis dafür, dass Einträge und Kommentare nicht sofort ersichtlich sind, sondern erst freigeschaltet werden müssen. Konstruktive Kritik wird jedoch selbstverständlich gerne freigegeben.
» Tracker besuchen
Die meisten meiner Projekte bieten bereits eine integrierte Möglichkeit zur Meldung von Fehlern. Dies trifft u. a. auf die Übersetzung der Lua-Dokumentation und das Städteportal zu. Diese Projekte sind nun in der Lage, Einträge über einen Webservice direkt einzureichen. Ihr könnt deren Funktionen hierfür also weiterhin wie gewohnt nutzen. Es ist außerdem geplant, die Integration auf Feedback für diese Webpräsenz hier auszudehnen.
Zum Schutz vor Spam bitte ich um Verständnis dafür, dass Einträge und Kommentare nicht sofort ersichtlich sind, sondern erst freigeschaltet werden müssen. Konstruktive Kritik wird jedoch selbstverständlich gerne freigegeben.
» Tracker besuchen
.NET framework source code published
Einige werden es bereits erfahren haben, dennoch möchte auch ich darauf hinweisen, dass Microsoft weitere große Teile des .NET-Frameworks öffentlich zur Verfügung stellt. Unterstützt wird das Vorhaben durch Roslyn.
Die Inhalte sind dabei durchgängig interaktiv gestaltet und stehen unter der Reference Source License.
Die Inhalte sind dabei durchgängig interaktiv gestaltet und stehen unter der Reference Source License.
Observe changes on the file system with C#
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
Für unser konkretes Beispiel möchten wir das Verzeichnis "
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
Abschließend abonnieren wir das Ereignis 01020304
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(@"X:\Server\Logs") { EnableRaisingEvents = true, Filter = "*.log"};
Created
, welches bei neuen Dateien ausgelöst wird:
Ereignis abonnieren
Selbstverständlich bietet die Klasse die Möglichkeit einer detaillierteren Konfiguration und weitere Ereignisse. 010203040506
fileSystemWatcher.Created += (sender, e) => { /** * e.Name enthält nun den * Namen der neuen Datei. **/};
C# and the Clipboard
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
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. 01
Clipboard.SetText("Test-Text");
Upload File with ASP.NET MVC
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:
Auch mehrere Dateien hochzuladen ist kein Problem, dazu müssen wir der Methode
Zuerst erstellen wir eine minimale Ansicht (im Beispiel für eine Galerie) mit einem entsprechenden Formular:
View: ~/Views/Gallery/Upload.cshtml
Zur Verarbeitung verwenden wir die folgende einfache Methode im Controller:
010203040506
@using(Html.BeginForm("Upload", "Gallery", FormMethod.Post, new { enctype = "multipart/form-data"})) { <input type="file" name="file" /> <input type="submit" />}
Controller: ~/Controllers/GalleryController.cs
Über 010203040506070809
public class GalleryController : Controller { public ActionResult Upload(HttpPostedFileBase file = null) { if(file != null) { file.SaveAs(file.FileName); }
return View(); }}
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:
Nun können wir in der Ansicht mehrere Felder zur Auswahl einer Datei anbieten:
Project links
-
BitStadt – Stadtportal
Berlin · Hamburg · Amsterdam -
CCC – Fahrplan
Schedules for the CCCongress
Categories / Archive | Übersicht
- PHP functions in C# (136)
- Dictionary (257)
Tags
.NET · ADO.NET · Work · ASP.NET MVC · Blog · C# · Generics · Society · Computer Science · Java · LINQ · Logic · Mathematics · Network · PHP · Project · Security · Software development · Studies · Technics · Theory · Web design · WPF