Thomas Bandt

Über mich | Kontakt | Archiv

C# - Dateien in Mehrbenutzer-Umgebungen streamen

Mit ASP.NET respektive C# eine Datei zum Client zu streamen, ist kein großes Problem. Das macht man zum Beispiel, wenn man die Datei nicht direkt zum Download anbieten möchte, weil man sie vielleicht nur für eingeloggte Benutzer bereitstellen oder die Anzahl der Downloads mitloggen möchte. Problematisch kann es allerdings immer dann werden, wenn mehrere Benutzer gleichzeitig versuchen, die Datei herunterzuladen, vielleicht sogar in verschiedenen von einander unabhängigen Anwendungen. Die Folge ...
Freitag, 4. Juli 2008, 5 Kommentare
 

Fehler bei der Validierung von ViewState-MAC

Mir flatterte zuletzt gehäuft eine Fehlerbenachrichtigung einer Anwendung ins Postfach, die den folgenden Fehlertext enthielten: Fehler bei der Validierung von ViewState-MAC. Wenn diese Anwendung von einer Webfarm oder einem Cluster gehostet wird, stellen Sie sicher, dass die <machineKey>-Konfiguration den gleichen validationKey und Validierungsalgorithmus angibt. AutoGenerate kann in einem Cluster nicht verwendet werden. Die Generierung eines MachineKeys brachte keine Besserung, ...
Dienstag, 1. Juli 2008, 2 Kommentare
 

SQL - Duplikate finden und löschen

Es kommt vor, dass man in einer Datenbank-Tabelle mehrere Datensätze mit dem gleichen Inhalt hat und diese finden möchte: SELECT Email, FKMarketID, FKLanguageID, Count(*) FROM NewsletterSubscriptions GROUP BY Email, FKMarketID, FKLanguageID HAVING COUNT(*) > 1 Die Kriterien für die Eindeutigkeit sind hier die Felder Email, FKMarketID und FKLanguageID. Will man sie jetzt noch löschen, kann man folgendes Statement benutzen: DELETE FROM NewsletterSubscriptions WHERE ...
Dienstag, 1. Juli 2008, 2 Kommentare
 

SQL Server 2005: Alias setzen

Ein Alias ist eine nützliche Sache: er vereinfacht z.B. die Entwicklung an verschiedenen Arbeitsplätzen (daheim, unterwegs, im Büro - überall hat man einen anderen SQL-Server installiert, muss aber die ConnectionStrings nicht anpassen), er schafft Flexibilität am Server (weil man einmal eingerichtete ConnectionStrings nicht mehr anpassen muss) und er sorgt für mehr Performance (weil bei der Verbindung klar ist, welches Protokoll verwendet wird). Trotzdem raubt mir dieses Thema immer wieder ...
Montag, 19. Mai 2008, 1 Kommentar
 

IIS7 Admin Pack

Das sind mal richtig coole News. Mit dem IIS 7 Admin Pack kommen ein paar nette Features mit: Built-In-Database-Manager Log Reports Configuration Editor Was ist daran cool? Die einzelnen Features für sich gesehen mögen langweilig und nicht besonders neu sein - das wirklich neue daran ist, dass dies quasi alles "im IIS" gehostet und bereitgestellt wird. Es gibt einen Desktop-Client (bei Vista standardmäßig dabei, für XP wird es auch einen geben), mit dem man sich einfach auf den Server ...
Mittwoch, 26. März 2008, 0 Kommentare
 

Software für mobile Geräte entwickeln - aber bitte online

Unter dem Titel "Die mobile Applikation ist tot, es lebe das mobile Web" fasst Andreas Göldi den aktuellen Stand der Dinge in diesem Bereich hervorragend zusammen. Ich kann ihm da aus meiner Erfahrung in der Praxis nur zustimmen. Wir haben z.B. für einen Verlag eine Applikation auf Basis des .NET Compact Framework 2.0 und SQL Server Mobile entwickelt, die inzwischen immerhin in dreistelliger Auflage in ganz Europa verteilt ist. Ganz praktische Probleme: Aufgrund der nicht immer schnellen ...
Mittwoch, 27. Februar 2008, 0 Kommentare
 

XmlSerializer - mit sgen.exe die Performance optimieren

So schön praktisch die Serialisierung von Objekten mit XmlSerializer auch sein mag, schnell ist etwas anderes. Vor allem wenn die zu serialisierenden Objekte komplexer werden und verschachtelt werden sollen dauert es dann schon ein bis zwei Gedenksekündchen, bis das Ganze fertig ist. Abhilfe schafft seit .NET 2.0 das Tool sgen.exe. Damit kann man bereits zur Entwicklungszeit aus einer Assembly die passenden Serialisierungs-Klassen erzeugen lassen, so dass diese nicht - wie sonst üblich - zur ...
Montag, 25. Februar 2008, 0 Kommentare
 

ASP.NET - Session-ID zurücksetzen

Session.Abandon() killt zwar serverseitig die aktuelle Sitzung, beim nächsten Request wird dann die neue Sitzung aber mit der gleichen ID erstellt, die der Client im Session-Cookie bereits zugewiesen bekommen hat. Will man aber unbedingt eine neue SessionID haben, weil man beispielsweise die tatsächliche Nutzungsdauer einer Anwendung durch einen Benutzer anhand dieser mitloggt, und die gleiche ID bei neuer Session so zu verfälschten Ergebnissen führt, muss man etwas handgreiflich ...
Mittwoch, 13. Februar 2008, 1 Kommentar
 

Erweiterte Serialisierung mit .NET

Wozu man Serialisierung benutzen kann und wie es funktioniert, habe ich bereits im November in einem Beispiel kurz gezeigt. Hier nun noch ein paar Erweiterungen dazu. Verschachtelte Listen serialisieren Richtig Spaß macht das Ganze, wenn man auch komplexe Strukturen darüber abbilden kann - wenn man beispielsweise einen kompletten Warenkorb, inklusive Liste aller bestellten Produkte und deren Eigenschaften in XML packen und so speichern kann. In der Praxis wird das vor allem dann sinnvoll, ...
Samstag, 9. Februar 2008, 0 Kommentare
 

Asus Eee-PC - Fazit

So, ein Wochenende mit dem Eee-PC ist rum. Ich zähle mal auf, was mir einfällt Auf bestimmten Unterlagen wird er schnell sehr heiß, der Lüfter hörbar. Er leitet zu viel Wärme direkt nach unten ab, sodass er z.B. auf dem Schoß oder im Bett kaum zu benutzen ist. Das Sleeve stinkt wie üblich zum Himmel, da kriege ich Angst mir ne Krankheit zu holen. Die Akkulaufzeit ist eine Katastrophe, ich denke wenn man ihn intensiv nutzt ist nach 2 Stunden Schluss. Da war schon mein erstes Notebook von ...
Montag, 28. Januar 2008, 9 Kommentare


« Zurück  |  Weiter »