Open Source .NET code performance and memory profiling software

Bei der Suche nach Performancemessungen für ein .NET Projekt, habe ich ich folgende interessante(s) Seite / Projekt gefunden: ProfileSharp Bis jetzt nur kurz getestet, scheint es aber ein gute Lösung zu sein um: Eine Speicheranalyse durchzuführen (z.B. Memoryleaks) Wo welche Rechenleistung benötigt wird Besonders interessant ist, dass der Profiler keinerlei Veränderungen am SourceCode benötigt - Bestandteile des Profilers müssen also nicht in das Projekt / Assembly k(c)ompiliert werden. Er läßt sich einfach von außen anfügen Das Produkt ist OpenSource und steht damit jedem zur Verfügung. Ob bei dem Funktionsumfang / Leistung mit kommerzielle Produkten aufnehmen kann werd ich sehen.  

Eine .NET WinForms Anwendung nur einmal starten / arbeiten mit einem mutex

Wenn man eine Anwendung nur einmal durch den Anwender starten lassen möchte, dann ist das mit der Hilfe von einem erzeugten Mutex sehr einfach zu realisieren. Nur ein paar Zeilen Quellcode sind dafür in der Main() Methode notwendig. Wie immer ist der Beispiel-Code in .NET C#. bool createdNew;///Einen neuen Mutex erzeugen, damit die Anwendung nur einmal gestartet werden kann.System.Threading.Mutex appMutex = new System.Threading.Mutex(true, Application.ProductName, out createdNew);///Wenn die Erzeugung erfolgreich warif (createdNew){///... dann kann die Anwendung ausgeführt werdenLogIn frmLogIn = new LogIn();Application.Run(frmLogIn);if (frmLogIn.DialogResult == DialogResult.OK)Application.Run(new MainForm());// den Mutex wieder frei gebenappMutex.ReleaseMutex();}else{///Wenn die Anwendung schon ausgeführt wird -> Hinweis-Dialogstring msg = String.Format("Das Programm \"{0}\" wurde bereits gestartet!", Application.ProductName);MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);}

Edles XP-Desktop Design in schwarz-grauen

Gerade hab ich durch Zufall ein Cooles Theme für Windows XP gefunden. Es ist sogar ein offizielle Desktop-Theme von Mircosoft, das es allerdings nicht auf der Seite von Micrsoft direkt gibt. Diese beiden Links geben sowohl eine Anleitung als auch einen Link zum entsprechenden Skin.http://dlc.softwareload.de/Zune-Desktop-Theme-fuer-Windows-XP/48024 http://dlc.softwareload.de/Royale-Noir-Theme-fuer-Windows-XP/48019 Ich find es cool und habe es direkt mal installiert ...

Ein Web 2.0 Pop Up Fenster

In der letzten Zeit findet man im Web immer wieder Popup-Fenster die wie folgt aussehen: Die Umsetzung erfolgt via JavaScript und CSS und stellt kein großes Geheimnis dar. Wer sich allerdings trotzdem nicht die Mühe machen möchte (und niemand möchte wirklich etwas erarbeiten, was es schon gibt), für den habe ich hier einen tollen Link: http://orangoo.com/labs/GreyBox/. Auf dieser Seite gibt es eine Komponente (JavaScript) die einem bei der Umsetzung unterstützt. Die Vorteile: Es wird nicht durch die PopUp-Blocker verhindet, da es ja kein neues Fenster ist Mit nur 22kb ist das Script recht klein Wird schon auf viele Websites eingesetzt und kann als stabil betrachtet werden

C#/VB .NET Coding Guidelines

Gerade habe ich ein kostenloses eBook zum Thema Coding Guidlines für C# und VB.NET gefunden und möchte darauf aufmerksam machen. Den Download gibt es direkt unter submain.com Das eBook hat folgende Themen: Naming Guidelines Class Member Usage Guidelines Guidelines for Exposing Functionality to COM Error Raising & Handling Guidelines Array Usage Guidelines Operator Overloading Usage Guidelines Guidelines for Casting Types Common Design Patterns Callback Function Usage Time-Out Usage Security in Class Libraries Threading Design Guidelines Formatting Standards Commenting Code Code Reviews Additional Notes for VB .NET Developers Ebenso recht nützlich ist das Tool SmartOutline for VS2005, welches als kostenlose Version auf der Seite zur Verfügung gestellt wird. Damit wird das Handling von #region's - welche ich sehr gerne benutze - noch etwas verbessert.

Screenshot von langen Websites

Immer wieder hat man das Problem einen Screenshot von einer Website zu erstellen, die viel zu lang ist und einfach nicht auf einen Bildschirm passt. Gerade habe ich ein Add-ons - Screengrab - für den Firefox gefunden, dass einen Screenshot der gesamten Website erstellt auch wenn diese nicht wirklich komplett auf dem Bildschirm zu sehen ist.Hier ist der direkte Downloadlink Firefox Add-ons Screengrab

Ich habe nichts am System modifiziert .. aha .. Systeminformationen hilft

Wer kennt das nicht: ein Kunde, ein Bekannter oder die Freundin sagt ganz unschuldig: Ich habe nichts gemacht .. der PC läuft einfach nur so nicht mehr. In solchen Momenten ist es doch immer schön, wenn man sich zumindest auf Windows verlassen kann. Das sagt einem nämlich welche Veränderungen an einem System stattgefunden haben, bevor ein Problem am System aufgetreten ist.Einen Hinweis hierzu ist der "Systemverlauf" den Windows XP bieten. Er ist ein Teil des Programms "Systeminformationen" ("Start/Programme/Zubehör/Systemprogramme/Systeminformationen" oder mit "msinfo32" starten). Dort gibt es unter "Ansicht" den Eintrag "Systemverlauf". Dieser ist unterteil in drei Berichte: Hardwareressourcen, Komponenten und Softwareumgebung.Die dargestellten Daten sind in Form von XML-Dateien im folgenden Pfad abgelegt:%SystemRoot%\PCHEALTH\HELPCTR\DataCollWeitere Informationen findet man direkt bei Microsoft.

Eine DotNet Technologie Suchmaschine

Suchmaschinen wie www.google.de oder www.live.de sind für alle Entwickler - ob .NET, PHP, Delphi, etc. - ein wertvolles Werkzeug um schnell Antworten und Lösungen bei Problemem zu finden. Das größte Problem dabei ist aber meist, dass man nicht nur Suchergebnisse bekommt dich sich auch wirklich mit .NET befassen und somit wird die Recherche unnötig erschwert. Dieses gehört aber der Vergangenheit an, denn Dan Appleman hat folgende Website erstellt: http://www.searchdotnet.com/ Diese Suchmaschine basiert auf Google, allerdings werden wirklich nur .NET relevante Ergebnisse angezeigt. Die ersten Erfahrungen mit dieer Suchmaschine waren sehr positiv!

Die Live-Suche von Microsoft liebt mein Blog

Also ich mir gerade so ein wenig die Referrer angeschaut habe bzw. die Suchbegriffe inkl. Positionen bin ich über folgendes gestolpert: In der Microsoft Live-Suche bin ich auf Platz 1 von 6 Millionen Treffer und das mit dem Begriff ".net 2.0". Find ich persönlich schon ziemlich sexy und mein Tag ist gerettet :D

ASP.NET Job-Angebot in NRW (Standord MG)

Mal (wieder) in eigener Sache: Wir suchen zur Entwicklung von Webanwendungen unter Microsoft .NET eine(n) Kollegen(-in) (m/w) mit ASP.NET-Kenntnissen zur Festanstellung (Großraum Mönchengladbach). Aufgaben Entwickelt werden hauptsächlich Module für DotNetNuke unter C# und/oder VB.NET. Schwerpunkte sind Online-Communities, eCommerce bzw. Online-Shops. Anforderungen Kenntnisse in der Entwicklung von Web-Anwendungen (optimalerweise in ASP.NET). SQL-Kenntnisse sollten vorhanden Selbständiges und eigenverantwortliches Arbeiten Bei Interesse bitte Kontakt per eMail aufnehmen mit Daniel Müller (kontakt2007 @ gandke . de).

Enterprise Library 3.0 steht zum Download bereit

Die von mir gern benutze und geschätzte Enterprise Library steht nun endlich in der Version 3.0 als Download zur Verfügung. Folgende Application Blocks sind in dem Download-File enthalten: Caching Application Block Cryptography Application Block Data Access Application Block Exception Handling Application Block Logging Application Block Policy Injection Application Block Security Application Block Validation Application Block Ebenso wurde die Integration der Windows Communication Foundation (WCF) vorgenommen. Leider ist meine Zeit im Augenblick etwas knapp aber ich hoffe mir die Finale der Library bald genauer anschauen zu können. Download Enterprise Library 3.0  

Back to blogging

Okay, ich bin wieder da! Nachdem ich nun schon recht lange keinen neuen Beitrag mehr geschrieben habe, wird es Zeit sich zu melden. Ich lebe und arbeite noch und komme nun endlich wieder dazu regelmäßig hier zu schreiben ;-) Was ich gemacht habe? Die letzten Monate habe ich damit verbracht mich mit dem Segelsport zu beschäftigen und meinen SBF-See und den SKS (Sport-Küsten-Schiffer) zu machen. Das war ne ganze Menge Lernerei und Prüferei. Doch nachdem ich am Karfreitag meine praktische Prüfung für meinen SKS hatte, bin ich jetzt wieder frei wie ein Vogel :) Wer gute Informationen und Lernmaterial benötigt, dem kann ich folgende Seiten mit vielen nützlichen Informationen ans Herz legen: http://www.ney-info.de/diesunddas/Segelscheine/index.htmhttp://www.tim.flindt24.de/ Ach, neben dem Segeln habe ich nun auch wieder mit der Musik angefangen und bin in eine Band hier in Mönchengladbach eingestiegen. Wer mal eine Rock Cover-Band hören (oder buchen:)) möchte - voila: Herpes - Meine Coverband in Mönchengladbach. Ich bin übrigens der Mensch an den Keys ..... Natürlich habe ich die letzten Wochen nicht nur komplett dafür geopfert, denn "business as usual" stand trotzdem auf dem Programm. Nur die Schreiberei kam halt ein wenig zu kurz....:(

Permante Weiterleitung im IIS Internet Information Server

Wer schon mal im IIS eine Weiterleitung eingerichtet hat und sich gewundert hat das hinter der URL eine "/" auftaucht, dem sei gesagt die Option "dem exakten oben eingegebenen URL" (hört sich so seltsam an aber es steht nun genau so als Option im IIS) schafft hier Abhilfe...

Wie funktioniert Google? Google fuer dummyies

Wer schon immer mal einen kurzen aber sehr guten Überblick über das Internet und insbesondere Google habe wollte sollte doch mal auf folgender Website vorbei schauen ... guckst Du hier. Alle weiteren Worte spar ich mir an dieser Stelle :)  

Die IE Developer Toolbar Beta 3 steht zum Download bereit

Ein sehr nützliches Werkzeug bei der Entwicklung von Web-Site ist die IE Developer Toolbar für den Internet Explorer. Im Internet Explorer-Blog gibt es eine Erklärung der aktuellen Änderungen in der BETA 3. Alternativ wer den IE nicht mag kann sich auch mal bei FireFox umschauen, denn auch dort gibt es sehr viele brauchbare Tools für die Unterstützung von Entwicklern / Webdesignern. Hier geht es zum IE Blog... Hier geht es zum Download...

Anzahl der Zeichen eines Strings per Validatorcontrol checken

Mit dem RangeValidator von ASP.Net ist es nicht so ohne weiteres möglich die Länge einer Eingabe (Strings) zu überprüfen. Durch die Verwendung eines regulären Ausdrucks kann man aber trotzdem diese Überprüfung durchführen. So sieht das dann im Code aus:<asp:RegularExpressionValidator ID="checklength" runat="server" ErrorMessage="Error: invalid length" ValidationExpression="^\w{1,10}$" /> Der Ausdruck "\~w(1,10)$" besagt das die Eingabe maximal 20 Zeichen lang sei darf. Natürlich kann man auch die Eigenschaft MaxLength des Controls Textbox nutzen, allerdings kann man damit keinen Minimumwert überprüfen.

Sicherheitsanalyse von WCF (Windows Communication Foundation) durch das BSI und newtelligence

Wie ich schon in meinem Beitrag über den NRW Sumit 06 geschrieben haben, hat Newtelligence eine Beispielanwendung für die WCF geschrieben. Diese Anwendung wurde im Auftrag des BSI (Bundesamt für Sicherheit in der Informationstechnik) entwickelt und sollte nicht nur ein praxisorientierte Beispielanwendung sondern viel mehr die sichere Nutzung der WCF-Sicherheitsfunktionen zeigen.Die Empfehlungen umfassen neben den Hinweisen zu WCF-spezifischen Architekturen, zur sicheren Installation, Authentisierung und zur Anbindung von Datenbanken oder der Fehlerbehandlung in verteilten Systemen auch auch den Quellcode der beispielhaften WCF-Anwendung. Die entwickelten Handlungsempfehlungen sowie die Beispielanwendung kann per E-Mail (security (at) bsi.bund.de) angefordert werden.

iBATIS: Ein Data Mapper framework fuer DotNet / Java

Ohne jetzt große Erfahrungen mit dem System iBATIS gemacht zu haben, kann ich sagen, dass mir die Vorgehensweise sehr gut gefällt! So um 2000 herum habe ich mit einem Kollegen eine ähnliche Datenbankzugriffskomponente entwickelt und sehr gute Erfahrungen damit gesammelt. Gerade das Auslagern der der SQL-Befehle bzw. die Abstrahierung der SQL-Befehle kann Vorteile haben. Damals haben wir dieses Konzept unter dem Aspekt der Datenbankunabhänigkeit implementiert und eine allgemeine Beschreibung in Form von XML auf die entsprechende Datenbank zur Laufzeit angepasst. Freut mich doch immer wieder wenn ich Projekte sehe, die ähnliche Methode anwenden. Mittlerweile bin ich zwar mehr der Freund vom Provider-Pattern aber der Ansatz von iBATIS kann durchaus einen Sinn ergeben! Eine weiter Diskussion erspare ich mir an dieser Stelle :) Ach so, hier gibt es noch den Link. Nur so am Rande: MySpace.com benutzt nicht nur ASP.NET 2.0 sondern auch iBATIS .. guckst Du hier!

Happy Birthday www.dnnportal.de (die dotnetnuke community)

Gestern ist es mir doch wirklich entgangen :( die Seite www.dnnportal.de wurde gestern zwei Jahre alt und geht nun in die dritte Runde. In dem Forum dieser Seite findet man mittlerweile jede Menge Tips&Tricks rund um DotNetNuke und immer wieder Hilfe von Experten aus dem deutschen Raum :d  

Visual Studio 2003 und Windows Vista / Mein Tag

Schon länger wollte ich mein Notebook mal mit Windows Vista ausstatten doch irgendwie fehlte mir die Zeit. Nachdem dann letzte Nacht mein Notebook softwaretechnisch zu Bode ging, habe ich mich direkt entschlossen Windows Vista zu installieren. Im guten Glauben gesagt, getan und dachte alles wäre gut! Doch weit gefehlt... der erste Eindruck ist echt gut (ein wenig gewöhnungsbedürftig aber ich würde sagen: nicht schlecht).... Dann habe ich meine Visual Studio 2003 installiert,  was kein Problem war, nur das Starten war mir nicht vergönnt. Was soll das denn ????  Eigentlich bin ich davon ausgegangen, dass Microsoft die meist verwendeten Anwendungen (Visual Studio 2003 / MS-SQL Server 2000, usw) unterstützt ... diese Hoffnung ist aber gerade wie eine Seifenblase geplatzt! Normalerweise bin ich nicht contra-microsoft aber das ist ja wohl komplett am Thema vorbei! Sogar Visual Studio 2005 läuft nur nach einem ServicePack - und selbst dann gibt es wohl noch ein paar Probleme (mehr als unter XP). Super, toller Start in ein neues Betriebssystemzeitalter.... jetzt geht es wieder zum good, old Windowx XP - bis all meine Anwendung und Tools unter .NET 2.0 (3.0) laufen. An dieser Stelle sage ich : Vielen Dank für nichts! P.S.: Vielleicht hätten wir alle bei VB 6 bleiben sollen, denn das wird unter Vista supportet *mahlzeit*

Sind wir nicht alle ein wenig Star Trek?

Für alle Leute die Fan von Star Trek sind habe ich gerade eine ziemlich coole Seite mit jede Menge Stuff entdeckt: http://www.lcarscom.net Da gibt es Sounds für die (Windows) Systemklänge, Screensaver, Fotos von Raumschiffen und deren Crew, etc. Viel Spaß!

OpenSource Web-Design

Den Begriff OpenSource kennt man ja schon recht genau im Bereich der Software. Jetzt gibt es aber auch eine Seite die "OpenSource" Web-Designs anbietet (also quasi Templates für lau :) ) Bei meinem ersten Überflug ist die Seite es auf jeden Fall wert hier kurz erwähnt zu werden... also: http://www.oswd.org Vielleicht finde ich da ja auch mal endlich eine schönes neues Desgin für dieses Blog hier :)

Endlich neuer IE / .NET Framework 3.0 ready to download

Vermutlich ist es kein großes Geheimnis mehr aber trotzdem verbreite ich die Neuigkeit auch mal: Microsoft hat den Internet Explorer 7.0 zum Download frei gegeben. Der neue IE ist nicht nur ein Featureupdate sondern laut Aussage von Microsoft ein von Grund auf komplettes Redesign.  Besonders die Punkte Bedienbarkeit und Sicherheit standen im Vordergrund der Entwicklung. Hier gibt es den neuen Browser:Download   Endlich ist es da: Das .NET Framework 3.0 inkl. der passenden SDK's und den passenden Erweiterungen für das Visualstudio 2005. Ein paar Informationen zum .NET Framework und der Installation gibt es hier. Hier die Downloadlinks für die einzelnen Downloads: net 3.0 runtime -> http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en sdk -> http://www.microsoft.com/downloads/info.aspx?na=40&p=3&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74726 visual studio extensions for WF -> http://www.microsoft.com/downloads/info.aspx?na=40&p=4&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74727 visual studio extensions for WCF, WPF (noch CTP !1) -> http://www.microsoft.com/downloads/info.aspx?na=40&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74725

Remote Desktop auf einen anderen Port laufen lassen

Gerade habe ich einen interessanten Artikel / Blogeintrag gefunden der beschreibt wie man eine Remote Desktop Verbindung über einen beliebigen TCP-Port laufen lassen kann. Verwendung findet so etwas z.B. wenn an mehrere VM betreibt, Hackern es schwerer machen möchte per Remote Desktop auf einen Server zuzugreifen (okay, da gibt es auch noch deutlich besser Möglichkeiten ;-)). Der Trick ist eigentlich realtiv Simple:In der Registry muss lediglich ein Wert verändert weden: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp Dort gibt es den Key "PortNumber" den man auf einen anderen Wert setzen kann. Bei der Verbindung muss dann lediglich der veränderte Port hinter dem Computernamen/IP-Adresse angegeben werden: z.B.: MeinServer:3829 Weiter Infos und ein Tool dafür gibt es hier.  

Ein CSS Menu fuer DotNetNuke 3.x / ASP.NET

Ich möchte jetzt hier gar keine Diskussion lostretten die über das Solpart-Menu herzieht. Fakt ist auf jeden Fall: Das Anpassen des Menü via CSS kann einem wirklich graue Haare bereiten Die Größe des Menü (bezogen auf die HTML Datei) ist sehr groß Die Suchmaschinenfreundlichkeit ist fast nicht gegeben Aus diesen Gründen habe ich ein kleines niedliches CSS-Menu gebaut das mit HTML Aufzählungen, CSS und wirklichen Links (!) arbeitet. Es ist noch kein perfektes Menu aber für meine derzeitigen Einsatzbereich wirklich ausreichend. Ein paar Erweiterungen und Optimierungen müssen da in Zukunft noch implementiert werden. Aber wie bei jedem Projekt gibt es auch hier mal eine Version 1.0. Da ich sehr gerne und eigentlich fast alle DotNetNuke Module in C# entwickel ist auch dieses Modul ist c# geschrieben. Die Einbindung in ein Skin ist relativ simple! Einfach folgendes in das Skin aufnehmen: <%@ Register TagPrefix="gwc" Namespace="GaliNeo.Modules.Framework" Assembly="GaliNeoMenu" %> und dann an der Stelle wo das Menü erscheinen soll: <gwc:GaliNeoMenu runat="server" id="TestMenu"></gwc:GaliNeoMenu> Natürlich läst sich damit so ziemlich jede Menü darstellen das sich mit den HTML Tags UL und CSS formatieren läßt. Hier ist es zunächst ein klassisches Drop-Down Menü....Hier der Download des Source-Codes:GaliNeo.DotNetNukeMenu (1.0.0.0).zip (7,96 KB)