C# hat einige nette Features die man auf Anhieb nicht gerade kennt.
Hier ein paar davon: Continue reading C# Tipps
Manchmal möchte man ein nicht-blockierendes SELECT
auf einer Tabelle machen. Dazu verwendet man einfach:
SELECT * FROM MyTable WITH(NOLOCK)
Das Problem an NOLOCK
ist, dass es ein “dirty” Read ist. Also wenn z.B. eine Transaktion ein INSERT
auf diese Tabelle macht aber noch nicht commited ist, gibt das SELECT
mit NOLOCK
diese Row bereits zurück! Wenn und die Transaktion zurückgesetzt wird (Rollback), wird dieser Row wieder gelöscht und unser SELECT
hat einen nicht mehr exisiterenden Eintrag.
Um dieses Problem zu umgehen kann man statt NOLOCK
einfach READPAST
verwenden. Das Statement sieht dann so aus:
SELECT * FROM MyTable WITH(READPAST)
Nun werden Zeilen die gesperrt sind einfach ignoriert. Dies beinhaltet allerdings auch Zeilen die über ein UPDATE
gesperrt sind! Also immer aufpassen und abschätzen, was man braucht.
Weitere Links:
– Table Hints (Transact-SQL)
– Using NOLOCK and READPAST table hints in SQL Server
Wer schon mit dem AjaxToolkit gearbeitet hat kennt das Prinzip der Extender. Dabei werden dem Extender jeweils die ClientIDs der Controls mitgegeben, die entsprechend erweitert werden sollen. Der Extender kann dann über Page.FindControl das ensprechende Control finden es entsprechend anpassen. So weit so gut, doch was tun, wenn nun dieser Extender in einem Repeater ist? Continue reading FindControl in Controls mit IDs
ASP is pretty much Event-Oriented. So it’s important to know the exact Sequence of the Events for a Page-Life-Cycle.
Here’s the List (in sequence): Continue reading Postback Event Processing Sequence
Nachdem ich nun die mittlere Maustaste abfangen kann, muss ich jetzt nur noch Winamp steuern können.
Relativ schnell fand ich heraus, dass man mit WM_COMMAND Befehle an Winamp senden kann. Leider kein kombiniertes Play/Pause. Also muss ich zuerst den Status abfangen und je nach dem Play oder Pause/Unpause senden. Continue reading Winamp Steuern
Ich bin mir gewohnt mit der mittleren Maustaste Winamp zu steuern (Play/Pause) doch für meine Maus hier gibt es leider keinen Windows 2000 Treiber und somit kann ich die mittlere Maustaste nicht konfigurieren.
Also möchte ich einen globalen Mouse-Hooker schreiben um alle Events der Maus abzufangen und eigene Funktionen dranzuhängen. Continue reading Maus und Tastatur Hooks