Schlagwort: SQL
RSS-Feed des Schlagworts 'SQL'
ASP.NET

ProfileProvider und LastActivityDate

Warum sind soviele User online?

Die in ASP.NET integrierten SQL-Membership- und Profile-Provider sind schon eine feine Sache. Sie bieten vom Start weg eine Menge Funktionalitäten, die dem Entwickler das Leben erleichtern. Vor allem der Profile-Provider ist sehr effektiv: man deklariert in der web.config ein neues Feld und kann es direkt verwenden, um die Stammdaten eines Benutzers um eigene Felder zu erweitern.

Der Membership-Provider bietet, neben der Verwaltung der Benutzer, einige Zusatzfunktionen, um den Status eines Benutzers abzufragen, wie IsOnline oder GetNumberOfUsersOnline, die sich zum Beispiel gut dafür eignen auf einer Administrationseite anzuzeigen welche User gerade angemeldet sind. Bezugspunkt für diese beiden Eigenschaften bzw. Methoden ist das Feld LastActivityDate, in dem die letzte Aktivität des Users festgehalten wird, und die Membership-Eigenschaft UserIsOnlineTimeWindow. Aus der Differenz errechnet sich, ob ein Benutzer noch online ist oder vielleicht nicht (ASP.NET ist halt zustandslos).

Problem

Beim Einsatz des Profile-Providers gibt es dabei allerdings einen Haken: sobald auf ein Profil-Feld zugegriffen wird, aktualisiert der Provider das LastActivityDate des dazugehörigen Benutzers! Das ist das Phänomen, dass vielleicht einige Admins kennen. Man lädt die User-Liste mit zusätzlichen Informationen aus dem Profil und scheinbar sind alle User gerade online...

weiterlesen...


(klicken zum vergrößern)

Jedes Programm basiert irgendwo auf Daten, die in Datenbanken vorgehalten werden. Möchte man diese Daten als Entwickler abrufen, kann man dies mit der Datenabfragesprache SQL tun. Jeder Datenbankhersteller setzt dabei, aufbauend auf dem SQL-Sprachstandard, auf einen eigenen Dialekt (Microsoft T-SQL, Oracle-SQL, und so weiter), dessen Funktionsumfang der eigenen Datenbank angepasst ist.

SQL-Code zu schreiben ist nicht besonders schwierig, wenn man die grundlegenden Methoden erst einmal kennt. Was aber für manche Entwickler oftmals schwierig zu sein scheint, ist eine einigermaßen lesbare Formatierung des Codes einzuhalten. Das haben wohl alle Sprachen gemeinsam. Ruckzuck entsteht Spaghetti-Code, der weder lesbar noch wartbar ist.

Einen Lösungsansatz hierfür kommt von Guido Thelen aus dem schönen Gross-Gerau ;). Er hat mit SQLinForm einen SQL-Formatierer in Java geschrieben, der sowohl in einer Online-, als auch in einer Desktop-Version erhältlich ist. Beide in englischer Sprache.

Neben 9 verschiedenen SQL-Dialekten, bietet das Tool eine unerschöpfliche Anzahl an Optionen mit denen man den eigenen Code in Form bringen kann. Herauszuheben wäre dabei unter anderem die automatische Einrückung von JOIN-Statements, die Definition von eigenen Keywords für die Groß- respektive Kleinschreibung oder die entsprechende Kolierung des Codes für die HTML-Ausgabe.

Ein richtiges cooles Tool, mit dem selbst dem größten Format-Muffel dieser notwendige Akt des kollegialen Friedens leicht von der Hand geht.



RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei