Heute habe ich versucht bei mir lokal ein SSL Zertifikat zu installieren. So etwas habe ich nicht zum ersten mal gemacht aber heute wollte es einfach nicht funktionieren. Immer wenn ich den IIS entsprechend konfiguriert hatte (Zertifikat importiert, Binding bzw. Hostheader erstellt, etc.) kam beim Versuch den IIS zu starten immer die Meldung: IIS Manager Error: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0×80070020)
Nach der Analyse habe ich dann festgestellt, dass ein Prozess bereits den Port 443 nutzt und daher der IIS mit einem https-Binding natürlich nicht mehr richtig starten konnte. Herausfinden welcher Port aktuell genutzt wird kann man im übrigen über "netstart -ano" im Cmd-Prompt. Der Befehl "Tasklist" hat mir dann den notwendigen Hinweis gegeben. Skype ist der "Bösewicht" der den Port 443 nutzt. Dieses kann man aber per Konfiguration ausschalten. Danach funktioniert auch der Start vom IIS mit einem htts-Binding
Gerade habe ich ein wirklich praktisches kleines Tool gefunden, dass jeder der Subversion verwendet sich bestimmt schon mal gewünscht hat. Schon mehrfach hatte ich das Bedürfnis, die Arbeitskopie eines SVN-Projektes komplett und mit einem Klick von den SVN-Verwaltungsdateien zu befreien. Natürlich geht das auch über die Windowssuche, ein Kontextmenü im Explorer ist aber dafür deutlich besser geeignet. Daher meine Empfehlung: SVN-Cleaner. Die Webseite mit Informationen und dem Download findet man bei Google Project Hosting unter der URL http://code.google.com/p/svn-cleaner/.
Das iPhone und auch der iPod-Touch findet immer mehr anklang und die Anzahl der Nutzer wird wohl in den nächsten Monaten und Jahren mehr zu- als abnehmen. Grund genug sich mit dem Thema zu beschäftigen. Für Menschen im Microsoft .NET Umfeld gibt es jetzt ein eBook "Building iPhone and iPod touch Applications for the .NET/C# Developer with MonoTouch" das erklärt wie man mit Hilfe von C#, MonoTouch und MonoDevelop eine iPhone App entwickeln kann. Das ist doch mal cool. Hier der Link zum eBook
Gerade in der Design- bzw.Entwicklungsphase ist es immer sehr hilfreich,wenn man mit vernüftigen Texten arbeiten kann. Zumindest Texte die über ein "Testeintrag" oder "Hallo Welt" hinausgehen. Für diesen Zweck und damit wir armen Entwickler uns nicht immer einen sinnvollen Text ausdenken müssen gibt es "Lorem ipsum". Dabei handelt es sich um einen Blindtext ohne jede Bedeutung, der lediglich als Platzhalter verwendet wird. Dieser pseudo-lateinischen Texte vermittelt durch die Verteilung der Buchstaben und Wortlänge den Eindruck eines natürlichen Textes. Da die "Lorem ipsum" Texte aber Inhaltlich keine Bedeutung darstellen, wird der Betrachter den den Inhalt nicht abgelenkt. Heute habe ich für diese Zwecke ein sehr nützliches Tool entdeckt, dass einem beliebe "Lorem ipsum" Texte erzeugen kann. Durch die Angabe von Länge, Anzahl der Wörtern, Anzahl der Abätze kann man sehr schön die Texte varieren. Das Tool befindet sich auf der Seite http://www.loremipsum.de
Mir fällt sehr oft auf, dass beim Aufbau einer Anwendung mit mehreren Projekten innerhalb einer Solution, immer wieder eine direkte Abhängigkeit geschaffen wird, indem man beim Projekt sagt: "Verweis hinzufügen" -> Projekte -> Das zu referenzierende Projekt. Gemacht wird so etwas z.B. wenn man die Datenobjekte / -definitionen getrennt von der Logik, Datenzugriff, etc. in einem eigenen Projekt verwalten möchte (was eigentlich so wieso immer getan werden sollte).  Solange man alleine an einem Projekt arbeitet mag das noch okay sein und funktionieren; arbeitet man aber in größeren Projektteams zusammen, wo nicht immer alle die komplette Solution inkl. SourceCode Kompilieren sollen / möchten / können, muss man regelmäßig die Referenzen manuell neu aufbauen. Ich empfehle immer nur die kompilierte Assembly zu referenzieren und alle genutzten Assemblies in einem gemeinsamen Ordner abzulegen. Dann ist es nämlich vollkommen egal, ob man die gesamte Solution, einen Teil oder sogar nur ein Projekt öffnet. Mehr Aufwand bedeutet das für die Konfiguration und Entwicklung auch nicht, da nur einmal bei der Anlage des Projektes ein Post-Build-Kommando in den Einstellungen des Projektes hinterlegt werden muss. Hier ein Beispiel dafür:  xcopy /y /d "$(TargetPath)" "$(SolutionDir)SharedAssemblies\" Der Parameter "/d" sorgt dafür das nur aktueller Versionen kopiert werden und "/y" unterdrückt die Nachfrage, ob vorhandene Dateien überschrieben werden sollen und macht dieses einfach automatisch. By the way... eine schöne Übersicht der XCOPY Parameter gibt es hier bei MicrosoftDamit nun die Reihenfolge der Kompilierung richtig ist und auch Veränderungen von z.B. Basisklassen zuerst neu erzeugt werden, muss man unter den Projektabhängigkeiten nun die einzelnen Projekte angeben. Das ist kein Verweis (!) veranlasst aber Visual Studio in der richtigen Reihenfolge die Projekte zu erstellen! that's it
Mehr durch Zufall habe ich gerade eine Seite entdeckt, die zwar relativ simple aber wie ich finde doch sehr verständlich erklärt, welche Design Patterns (zumindest eine Liste der bekanntesten Patterns) es gibt und was sich hinter den einzelnen Design Patterns versteckt. Die SourceCode Beispiele sind zwar nicht in C# oder einer anderen .NET Sprache aber ich denke auch mit Java-Basics sollte jeder zurecht kommen. Die Beispiele sind sehr simple und überschaubar gehalten... http://www.qrst.de/wiki/composite.html
Heute musste ich feststellen das auf einem Windows 2003 Server mit einer Instance vom MS SQL Server 2005 Express DotNetNuke die Arbeit eingestellt hat. Ein Blick in das Eventlog vom Server ergab, das sich der Benutzer nicht mehr am SQL-Server anmelden konnte.
Als ich die Eigenschaften des entsprechenden Datenbank-Benutzers überprüfen wollte, kam die Meldung:
Property IsLocked is not available for Login '[username]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
Ein Wechsel zwischen dem Anmeldemodus Windows-Auth und gemischter Modus betrachte keine Veränderung - diesen Tipp hatte ich in einem Forum gelesen.
Was geholfen hat war das absetzen vom folgendem SQL-Befehl: ALTER LOGIN [usermae] WITH PASSWORD=N'meintollespwd',CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO ALTER LOGIN [username] ENABLE
Damit konnte sich DotNetNuke wieder anmelden und auch die Eigenschaften vom Benutzer waren wieder einsehbar und konnten über die Managmentkonsole vom SQL-Server modifiziert werden.
Die wirkliche Ursache habe ich noch nicht gefunden - zumindest läuft die Webanwendung wieder!
Aktuell beschäftige ich mich mit der Entwicklung einer kleinen praktischen Komponente, die ein Web 2.0 Popup-Fenster für DotNetNuke Module bereitstellt. Dabei geht es weniger darum eine Bilder anzeigen zu lassen, das Hauptziel ist die Nutzung für Bearbeitungsfenster. Ebenfalls soll das Modul auch in unser Videomodul einfließen, damit das Videos in einem Popup angezeigt werden können. Dazu vielleicht aber später mehr....
Auf eine google-Suche habe ich diese Seite gefunden, die 56 Skripts für Galliers, Slideshows auflistet und direkt zu den entsprechenden Websiten verlinkt.
Mein Favorit ist eigentlich lightbox aber über den Tellerran zu schauen kann ja nie schaden.
Nachtrag: Soeben habe ich einen Kommentar per E-Mail erhalten und mir wurde da http://highslide.com/ ans Herz gelegt, ist zwar nicht kostenfrei aber bietet schon eine ganze Menge an Funktionalität .... man hat doch wirklich die "Qual der Wahl"
Bei vielen angemieteten Servern ist die Systempartition meistens sehr klein gewählt und läuft sehr gerne bis zur Speichergrenze voll. Dagegen kann man vollgendes machen:
- Die einzelnen Websites nicht auf c:\inetpub\wwwroot installieren - wie es ja die Standardeinstellung ist - sondern direkt auf d:\ einen eigenen Ordner dafür anlegen.
- Ebenfalls die Logdateien der virtueleln Webserver und SMTP in einem Ordner unter z.B. d:\ ablegen
- Fehlgeschlangen E-Mails von Windows-SMTP Server ebenfalls auf d:\ ablegen lassen und nicht wie es standard ist unter "c:\inetpub\mailroot"
Neben dieses vermutlich bekannten Einstellungen bin ich heute über den Ordner "c:\WINDOWS\SoftwareDistribution\Download" gefunden. Dort werden die runtergelagenen ServicePacks, Hotfixes, etc. abgelegt und nach der Installation nicht gelöscht. Gerade nach dem Download eines ServicePacks ist dieser Ordner meistens sehr schnell sehr groß. Nach erfolgreicher Installation kann der Ordner ohne Probleme einfach wieder gelöscht werden und schon hat man genügend Platz (oder mehr Platz) auf der Platte
Gerade habe ich folgendes entdeckt:
http://www.iconlook.com
Ganz nett und hilfreich für den Entwickleraltag - an der Übersichtlichkeit muss wohl noch etwas gearbeitet werden aber das kommt bestimmt noch :)
Seit einiger Zeit arbeite wir sehr zufrieden mit Subversion, lediglich die bisher nicht bekannte fehlende Unterstützung von Visual Studio 2005 / 2008 war ein "Dorn im Auge". Jedoch gibt es auch dafür eine Lösung und die nennt sich AnkhSVN.
Dabei handelt es sich um eine AddOn für Visual Studio, dass die benötigte Funktionalität für die tägliche Arbeite direkt im Visual Studio zur Verfügung stellt. Per Kontextmenü kann man nun Projekte in Subversion übertragen oder ähnliches.
Das AddOn Clienttool "AnkSVN" für Visual Studio gibt es hier.
Gerade beschäftige ich mich ein wenig mit dem Thema Caching und dabei kommt man ja irgendwie an Memcached nicht vorbei. Wollte memcached dabei als Service in Vista laufen lassen, doch beim Aufruf in der Commandozeile
c:\memcached\memcached.exe -d install
kommt ständig die Fehlermeldung:
"failed to install service or service already installed"
relativ schnell habe ich herausgefunden das es an den unzureichenden Rechten meines Benutzeraccounts unter Vista liegt. Damit es funktioniert muss man die Console als Administrator ausführen.
Dafür gibt es einen Shortcut: Wenn man bei der Ausführung der Anwendung Ctrl+Shift+Enter drückt, kann man sich den Weg über das Kontextmenü sparen.
Gerade kam ein Kunde mit folgendem Problem auf uns zu: Eine absolut identische Seite, gleiches System, gleicher inhalt. Einmal wurde die Seite über http://www.mydomain.de aufgerufen und einmal über http://google.mydomain.de. Der zweite Auruf wurde aber bei Google-Anaytics nie getrackt. Der Aufruf zu Analytics wurde erst gar nicht durchgeführt.... Nach kurzer Debugphase vom JavaScript (urchin.js) war der Fehler schnell gefunden. Das Script fragt ab, ob die Aufruf von einer Seite kommt, die irgendwie ".google.", "google.", usw. binhaltet. Dann wird das Script nicht weiter ausgeführt.
Eine aktualisierte Version von VisualSVN Server - ein Installation-Package für Subversion auf einem Windows Server 200x - steht zum Download bereit. Diese MSI-Paket installiert einen Subversionen-Server in der Version 1.5. Auch ein Update ist ohne Probleme möglicht, lediglich die Konvertierung muss auf das neuste Subversionformat durchgeführt werden.
Hier ist der direkte Link zum Download: http://www.visualsvn.com/server/changes/1.5/
Ich bin mittlerweile wirklich dankbar für dieses Stück Software, da die Installation wirklich simple ist :)
Heute stellte sich mir die Aufgabe eine simple Stored Procedures zu schreiben, die x Datensätze aus einer Tabelle liest. Kein Paging sondern wirklich nur eine ganz bestimmte Anzahl - halt die TOP x Datensätze.
Also habe ich folgende SP geschrieben:
CREATE PROCEDURE dbo.Get_Top @topCount int AS SELECT TOP @topCount id, col1, col2, col3 FROM TestTable
Leider wurde mir dabei immer ein Syntaxfehler ausgeworfen - die Nutzung von dem Parameter innerhalb vom SQL-Statement scheint dem SQL-Server 2005 nicht zu schmecken. Also erst mal etwas gegooglet.... und zum guten Schluß stelle sich raus das die Lösung so einfach ist - aber darauf kommt man wohl zunächst nicht. Es reicht aus um das @topCount einfach eine Klammer zu setzen und schon kann der SQL-Server die SP verarbeiten.
Die lauffähige Stored Procedures für den SQL-Server sieht dann so aus:
CREATE PROCEDURE dbo.Get_Top @topCount int AS SELECT TOP (@topCount) id, col1, col2, col3 FROM TestTable
Darauf muss man erst mal kommen 
Bei der Neuinstallation eines Windows 2008 Server mit ASP.NET 2.0 und AJAX bekam ich beim Abruf von Resourcen über WebResource.axd und ScriptResource.axd jeweils den Fehler:
Specified argument was out of the range of valid values. Parameter name: utcDate
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: utcDate
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Lösung:
Das liegt an der Systemzeit vom Windows Server. Zunächst sollte diese Zeit überprüft werden und falls nötig auf das aktuell Datum / Uhrzeit gesetzt werden.
Sollte dadurch der Fehler nicht behoben werden, dann einfach unter Software die Installation von AJAX mit der Option "Reparieren" durchführen. Es scheint hier wohl eine Fehler zu geben und ASP.NET AJAX kommt dann mit dem Datum nicht zurecht. Nach der "erneuten" Installation funktioniert dann alles wie gewollt!
Wer kennt es nicht (gerade in kleinen) in Kundenprojekten. Können Sie hier den Text ändern, die Farbe dort gefällt mir nicht - hm, welche genau? Zwei Menschen sitzen vor unterschiedlichen Rechner und versuchen ein Design abzustimmen. Das ist nicht immer ganz einfach. Leider schaffe es auch nicht alle einen Screenshot zu erstellen um diese dann mit den Änderungen abzuliefern.
Abhilfe schafft hier FireShot, ein kleines Firefox Add-On das nicht nur Screenshots macht, sondern dem Anwender es auch direkt erlaubt Veränderungen im Bild vorzunehmen.
Sehr schön, das ist wirklich nützlich! Den Download von FireShot gibt es hier...
Bei der Durchsicht meiner Online-Statistiken ist mir gerade folgender Link aufgefallen: http://www.blogato.net/ und da ich von Natur aus ein neugieriger Mensch bin (liegt wohl am Beruf), habe ich mir die Seite etwas näher angeschaut. Dabei handelt es sich um eine Suchmaschine, die nur in Blogs sucht. Ziel ist es "...nur die relevantesten und interessantesten Beiträge in der Blogsphäre zu finden."
Da auch hier kein "Web 2.0" fehlen darf (eigentlich mag ich es gar nicht Web 2.0 zu schreiben) sollen die User aktiv mithelfen die Qualität der Suchergebnisse zu steigern.
Mein Blog ist auf jeden Fall schon mal im Index :)
Hm, also wenn ich die Wahl habe .. dann entscheide ich mich für Hawaii :) Wie ich gerade gehört habe ist das der Codename für .NET 4.0! Ob .NET 4.0 genau so klasse wird wie Hawaii wird sich zeigen ..
Das Framework soll voraussichtlich im Jahr 2009 erscheinen... lassen wir uns überraschen, was Microsoft da zaubert!
Jeder der Subversion scheut, weil man sich ja meist doch nicht in der Linux(änlichen)-Welt bewegt, wird sich jetzt freuen:
Es gibt eine Verwaltungsoberfläche womit auch wir Microsofties zurecht kommen :) Unter http://www.visualsvn.com/server/ gibt es nun eine SnapIn für die MMC. Noch erfreulicher finde ich aber, dass diese Lösung nichts kostet und jedem frei zur Verfügung steht!
Auf der Website http://entwickler-press.de/ gibt es in der Zeit von 1. - 24. Dezember einen ganz besonderen Adventskalender. Jeden Tag (und nur an dem entsprechenden Tag) gibt es ein kostenlose eBook zum Download. Dabei handelt es sich nicht um irgendwelche alten Hündchen sondern laut Angabe sollten sogar aktuelle Bücher aus dem Jahr 2007 angeboten werden.
Folgende Themen werden dabei behandelt: Java, Apache und XML über Software-Architektur sowie Web- und Skriptsprachen bis hin zu .NET- und Windows-Technologien.
Bin gespannt was morgen hinter meinem Türchen ist :)
Hier eine Liste der wichtigsten (zumindest für mich) Escape-Sequencen:
-
\t Tab (Unicode 0x0009).
-
\r Carriage return (0x000d).
-
\n Newline (line feed) (0x000a).
-
\v Vertical tab (0x000b).
-
\a Alert (0x0007).
-
\b Backspace (0x0008).
- \0 Null (0x0000).
-
\\ Backslash (0x005c).
-
\' Single quote (0x0027).
-
\" Double quote (0x0022).
Hier mal wieder ein Hinweis auf ein kostenloses eBook.
Wouter Van Vugt hat auf 129 Seiten das Thema Grundlagen rund um „OpenXML“ behandelt. Dieses eBook steht auf der Website von “OpenXMLDeveloper.org” kostenlos zum herunterladen bereit (PDF, 3,2 MB). In einem gesonderten Download sind darüber hinaus die im Buch behandelten Samples verfügbar.
Heute Abend habe ich mich mal wieder mit einem V-Server (Virtueller Server) bei 1und1 rumgeschlagen. Mein Ziel war ein automatisches Update jede Nacht durchzuführen. Dabei bekam ich allerdings ständig den Fehler:
Beim Erstellen der Volumeschattenkopie wurde ein Fehler ermittelt:0x8004230f
Das virtualisierte Dateisystem basiert auf der Virtualisierungstechnik Virtuozzo von SWSoft und dadurch steht die Volumenschattenkopie in Windows nicht zur Verfügung.
Durch den Befehl ntbackup mit verschiedenen Befehlszeilenparametern kann man den Sicherungsvorgang über die Eingabeaufforderung oder Batchdatei ausführen.
C:\>ntbackup backup C:\Daten /J "Backup" /F "C:\Backup\Daten.bkf" /SNAP:off
Dieser Befehl führt eine Sicherung des Ordner C:\Backup und deren Unterordner in die Datei C:\Daten.bkf durch.
Die Volumenschattenkopie wird über den Befehlszeilenparameter /SNAP:off deaktiviert.
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.
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 war if (createdNew) { ///... dann kann die Anwendung ausgeführt werden LogIn frmLogIn = new LogIn(); Application.Run(frmLogIn);
if (frmLogIn.DialogResult == DialogResult.OK) Application.Run(new MainForm());
// den Mutex wieder frei geben appMutex.ReleaseMutex(); } else { ///Wenn die Anwendung schon ausgeführt wird -> Hinweis-Dialog string msg = String.Format("Das Programm \"{0}\" wurde bereits gestartet!", Application.ProductName); MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); }
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
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.
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
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\DataColl
Weitere Informationen findet man direkt bei Microsoft.
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!
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
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).
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
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.htm http://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....:(
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...
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 :)
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...
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.
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.
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!
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
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*
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ß!
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 :)
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.
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)
So, endlich habe ich heute mal etwas Zeit gefunden um mein Blog auf die aktuellste Version von dasBlog.net zu aktualisieren.
Die Anpassung an ein anderes Design hat zwar noch nicht so ganz funktioniert aber ich werde die Tage noch mal daran arbeiten. Bis jetzt läuft die Version 1.9.6264.0 sehr zufriedenstellend und auch das eigentliche Update der Blogsoftware stelle kein Problem dar.
Sollte es doch irgendwelche Probleme geben, dann sagt mir doch bitte bescheid 
Hier ein paar Blogbeträge zum Thema Barcodes und wie man diese unter DotNet erzeugen kann ohne 3rd-party Komponenten:
Mittlerweile gibt es viele XML-Editoren jetzt gibt es einen XML-Notepad :)
Das XML Team von Microsoft hat eine .NET 2.0 Anwendung released mit der man XML Documents bearbeiten kann, XSL supported, XML Schema Validierung und sogar ein XML Diff Tool... zu guter letzt gibt es sogar intellisense. Auch bei großen Dokumente ist die Performance der Anwendung gut und im Vergleich zu vielen anderen Editoren wirklich mal zu gebrauchen.
Den Download gibt es hier. Voraussetzung für das 2XML-Notepad" ist das .NET Framework 2.0.
Der erste Eindruck sieht echt gut aus, werde das jetzt mal in der Praxis vermehrt einsetzen.
Ich habe gerade eine coole Seite über Threading in .NET 2.0 gefunden, die auch viele Beispiele in C# bietet.
http://www.albahari.com/threading/
Zudem gibt es (derzeit links unten) einen PDF, das nun auf meinem "muss ich unbedingt mal komplett Lesen" Stappel liegt 
Auf CodePlex wird von Microsoft ein Projekt mit dem Namen Phalanger gehostet. Phalager soll einen PHP-Compiler anzubieten, der es ermöglicht, PHP-Skripts ohne Modifikation auf .NET zu kompilieren. Dabei erzeugt der Compilier aus PHP-Skipts MSIL (Microsoft Intermediate Language). Ausprobiert habe ich es selber noch nicht, allerdings finde ich den Ansatz sehr interessant!
Hier der direkte Link zum Projekt auf CodePlex
Wenn man aus einem Pool von x Zeilen, die ein Select-Statement zurückliefert, eine zufällige Auswahl an Zeilen habe möchte geht das ganz einfach so: SELECT TOP 5 NEWID() AS randomNumber, * FROM [MyTable] ORDER BY 1
In diesem SQL-Statement wird einfach eine Guid erzeugt und das Resultset nach dieser zusätzlichen Spalte sortiert. Durch die Anweisung TOP 5 werden dann auch nur die ersten fünf Zeilen im Resultset aufgeführt.
Schon ist es vollbracht!
Alternativ - und wie ich auch gerade festgestellt habe der von Microsoft vorgeschlagene Weg - kann man auch folgenden Befehl nutzen
SELECT TOP 5 * FROM [MyTable] ORDER BY NEWID()
Vorteil: Die zusätzliche Spalte randomNumber wird nicht mit in das Resultset aufgenommen und ich persönlich finde es auch etwas eleganter :)
Gerade habe ich auf GotDotNet mal wieder eine wirklich coole Komponente gefunden, mit der man die Sidebar von Outlook 2003 abbilden kann.
Zu finden gibt es dieses .NET Komponenten - die übrigens in C# implementiert wurde - inkl. dem kompletten Sourcecode und einer Beispielanwendung, wie man die Komponente einsetzt, genau hier (klickst Du).
Letzte Woche Donnerstag war ich auf dem diesjährigen NRW Sumit veranstaltet von JustCommunity e.V.. Es war eine wirklich klasse Veranstaltung, auf der man eine ganze Menge geboten bekommen hat. Es gab sehr viele interessante Vorträge und die eine besser Auswahl an Dozenten kann man wohl kaum treffen. Nur schade war das Christian Weyer absagen musste und damit der Vortrag über die WCF ausgefallen ist. Es war eine gute Gelegenheit sich mit Kollegen auszutauschen und ein paar Anregungen mitzunehmen.
Es wurden aber nicht nur Vorträge zum Thema "Mircosoft" angeboten auch die PHP- und Linuxwelt waren mit Referenten vertreten. Also für jeden Geschmack gab es das passende Angebot.
Besonders gespant war ich auf den letzten Vortrag über "Indigo & SOA in the real World", in dem Daniel Fisher und Michael "Security" Willers aus einem Projekt für das BSI berichteten. Ziel war es wohl Indigo (WCF) auf Sicherheitsmerkmale zu überprüfen. Nun und auf der ersten Folie stand dann plötzlich Proseware :) ... die Anwendung lebt also doch noch. Ich bin leider nicht dazu gekommen nachzufragen ob die Anwendung komplett neugeschrieben wurde oder aber ob es die Basis von Clemens ist. Leider hat Proseware ja nie eine Freigabe von Microsoft erhalten :( aber diese Version wird wohl zum Ende des Jahres erhältlich sein ... ich denke auf diese Anwendung darf man sich sehr freuen!
Leider konnte ich nicht alle Vorträge besuchen da immer vier Tracks parallel liefen und das von 10:00Uhr Uhr bis Abends 20:30Uhr (!). Aufgrund der Länge und des doch sehr warmen Wetters waren wohl alle am Abend ziemlich platt und müde, was bei der anschließende Party mit 50 Liter Freibier aber keinen größeren Schaden anrichtete.
Ein großes Dankeschön geht an dieser Stelle an die beiden Hauptorganisatoren Daniel Fisher und Stephan Oetzel ... ich freue mich sehr auf den NRW Summit 07 :)
Eine wirklich sehr coole Vorstellung der WCF (Windows Communication Foundation) gibt es derzeit als Folge von dotnetPro-TV. Zusammen mit Ralf Westphal gibt Christian Weyer einen super Überblick für Einsteiger und Neulinge in diesem Bereich.
Derzeit gibt es das Video sogar für die Öffentlichkeit zugänglich auf der Seite von DotNetPro, der Link zum Video ist in der orangefarbenen Kästchen.
Viel Spaß :)
Nachdem es für ASP.NET, Windowsforms und Windows Communication Foundation Community und Informatonsseiten im Netz existieren ist seit kurzem auch eine Seite für den IIS (Internet Information Server) online. Wie bei all den anderen Communityseiten gibt es auch hier ein Forum, einen Downloadbereich mit Tools und jede Menge Tips & Tricks.
www.iis.net
Wer mal "eben" ein Regex-Pattern erstellen möchte und dieses auch direkt testen will, kann ein kleines Online-Tool dafür nutzen. Hier der Link
Seit einigen Tagen existiert ein eigenes Informations-Portal für IT-Architekten (www.architectsconnection.de). Dort stehen sehr viele architekturrelevanten Ressourcen – Fachartikel, Kommentare, Web- und PodCasts, Vorträge, Event-Termine u.v.m zur Verfügung und soll bei den täglichen Aufgaben helfen und unterstützen.
Der Gedanke des Portals ist "Service von Architekten für Architekten". Schauen wir mal wie sich dieses Microsoft Portal entwickelt.
Ab Heute wird die Thematik dieses Blogs ein wenig erweitert. Nun ist es endlich so weit und di Entwicklung mit .NET 2.0 geht bei mir endlich los. In der nächsten Zeit wird der Schwerpunkt mehr auf .NET Winforms und der Google-API liegen.
Aber keine Angst ich werde DotNetNuke nicht wirklich vernachlässigen.
Auch wenn ich es nie gedachte hätte, habe ich heute eine Spammail bekommen die ich doch recht interesannt oder viel mehr sinvoll fand.
Inhalt war eigentlich die Seite http://www.rekruter.de/ eine Seite mit Stellenangebote der Arbeitsargentur. Ob der Staat jetzt auch schon Spammails gegen die Arbeitslosigkeit einsetzt
Eines der doch besten Argumente für die Linux- bzw. PHP-Welt im Webumfeld waren bis vor einiger Zeit immer noch die doch sehr teuren Hostingpakete von Windowsbetriebssystemen. Mittlerweile fallen die Preise ständig und sind auf einem Niveau, wie es auch im Linuxumfeld anzutreffen ist.
Das ist besonders für Freunde und Fans von DotNetNuke interessant! Es gibt zwar auch einige Anbieter die ein DotNetNuke Hosting für z.B. 10€ anbiete aber wer gerne Kontrolle über seine System hat sollte sich überlegen einen eigenen Server zu mieten.
Nicht nur das man dort der eigene Administrator ist .. man ist bei vielen Punkten nicht auf den Support seinen Providers angewiesen.
Ganz davon abgesehen, dass man auch weiter Anwendungen auf seinem Server unterbringen kann.
Ich habe nun schon seit über einem Jahr einen Server bei Strato stehen und bin mit dem Service sehr zufrieden. Wer also ein paar Euro mehr ausgibt bekommt dafür auch deutlich mehr geboten. Ich persönlich möchte das nicht mehr missen. Immerhin läuft auch mein Block darüber und ein paar weitere Anwendungen.
Weil ich das Angebot sehr gut finde habe ich oben mal einen Banner eingebaut - wer also einen Buchen will .. einfach klicken :)
Nachdem ich mein Weblog die letzten 14 Tage etwas stiefmütterlich behandelt habe möchte ich diesen Zustand nun endlich wieder beenden und damit zumindest einen guten Vorsatz durchsetzen 
Ich habe vor ein paar Tagen eine sehr interessante Seite für die Gestaltung von Website gefunden. Diese Seite ist nicht nur für Webdesigner interessant sondern richtet sich an alle Menschen, die gerne eine Website betreiben möchten. Es werden nämlich nicht nur Themen wie HTML, CSS, Frames keine Frames, Hyperlings überprüfen, usw. behandelt sonder auch z.B. rechtliche Bereiche Copyrights (Umgang mit Urheberrechten) oder Disclaimer bis hin zu solchen Themen wie Ergonomie.
Die Seite ist eine große Linksammlung und zu erreichen unter: http://dciwam.de/checkliste/
Soeben habe ich ein verdammt cooles Tool gefunden, womit ich Outlook als RSS Reader verwenden kann. Es ist unter http://www.attensa.com erhältlich. Sehr gut ist auch, dass man beim Surfen RSS Abo's direkt über das Kontextmenu des IE oder FireFox mit in die Liste aufnehmen kann.

Falls es jemanden Interessiert: Seit einiger Zeit bin ich "Qualified Google Advertising Professional" :)
Und zusammen mit dem ebenfalls "Qualified Google Advertising Professional" Michael Gandke ist das eine weitere Dienstleistung die wir anbieten!
Wer also Bedarf in diesem Bereich hat, einfach einmal melden - hier gibt es weiter Infos dazu...
Ich hatte das Problem, dass ASP.NET eine Textbox im Modus "MultiLine" nicht richtige Breite und Höhe für den Firefox rendert.
Im HTML Code sah das so aus:
IE: <textarea name="txtComment" id="txtComment" style="height:226px;width:100%;">
Firefox: <textarea name="txtComment" id="txtComment">
Die Lösung des Problem ist es, die Eigenschaften Rows und Cols zu setzen - dann funktioniert es auch im Firefox.
Oder der saubere Weg (aufgenommen wegen des Kommentars), die browserCaps modifizieren:
<browserCaps> <!-- GECKO Based Browsers (Netscape 6+, Mozilla/Firefox, ...) //--> <case match="^Mozilla\/5\.0.+rv:(\d\.\d\.\d).+Gecko"> browser=Gecko type=${type} frames=true tables=true cookies=true javascript=true javaapplets=true ecmascriptversion=1.5 w3cdomversion=1.0 css1=true css2=true xml=true tagwriter=System.Web.UI.HtmlTextWriter <case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))"> version=${version} majorversion=${major} minorversion=${minor} <case match="^b" with="${letters}"> beta=true </case> </case> </case>
</browserCaps>
Weiter Infos gibt es unter http://slingfive.com/pages/code/browserCaps/
Für alle die keine Lizenz von CodeSmith kaufen möchten, aber auf den Luxus der Codegeneriung nicht verzichten möchten, gibt es eine Alternative.
Diese Alternative nennt sich MyGeneration und ist zu finden unter: http://www.mygenerationsoftware.com
Dieses Tool ist lizenzkostenfrei und biedet alles was man benötigt. Zumindest ist es in meinem Bereich noch nicht an seine Grenzen gekommen. Was mir lediglich fehlt ist eine Art Batch-Job, da es schon manchmal lästig ist die einzelne Gerneriung von Hand anzustoßen.
Es gibt auch schon für jede Menge Zwecke / Anwendungsfälle Templates - natürlich auch für DotNetNuke (!). Das Erstellen von MyGeneration-Templates finde ich etwas besser und intuitiver gelößt - kann aber auch nur Einbildung sein 
Es gibt natürlich keine Weg zu verhindern, dass sich User Bilderrunterladen können, den Source Code anschauen oder was es sonst noch so im Context-Menü des Browsers rumtreibt.
Manchmal möchte der Kunden aber einfach, dass der Rechtsklick auf einer Seite unterbunden wird. Hier ist ein wenig Javascript Code, der genau diesen Rechtsklick abfängt.
<script type="text/javascript"> <!-- function right(e) { if (document.layers && e.which == 3) { alert("Der Rechtsklick geht nicht!"); return false; } else if (document.all && event.button == 2) { alert("Der Rechtsklick geht nicht!"); return false; } return true; }
document.onmousedown=right;
if (document.layers) { window.captureEvents(Event.MOUSEDOWN); } // --> </script>
Endlich mal eine Abkürzung die den Kern der Sache trifft:
EDV = Eh Du Vollidiot
Jetzt ist nur die Frage ob das auf die Entwickler oder die Anwender bezogen ist 
Scheint als würde das der Tag meines Blogs.
Habe aber gerade etwas entdeckt, dass ich schon sehr lange suche!
Manchmal habe ich einfach das Problem, dass der "blöde" Internet Explorer einfach keinen HTML-Quelltext anzeigen will. Das ist ziemlich blöd - gerade als Webentwickler!
Hier habe ich jetzt aber zwei Links, die sich mit dem Problem beschäftigen und zumindest bei mir auch gelöst haben:
http://www.mredkj.com/tutorials/tips_ie.html
http://support.microsoft.com/kb/179829/de
SelfHtml ist eine der bekanntesten Anlaufpunkte für Leute die sich mit HTML rumschlagen dürfen. Gerade habe ich beim Surfen folgende Alternative gesehen:
http://www.htmlbasis.de/frame_l.htm
Hier ist eine Liste von coolen Tools, die einem so bei der täglichen Arbeit helfen können 
Da es heute zum "guten Ton" gehört ein Weblog zu führen, bin ich jetzt auch endlich dabei (dat is prima, viva usw.)!
Jeder der eine gute Software sucht, dem kann ich nur: www.dasblog.net ans Herz legen. Clemens, wirklich klasse 
Dieses Blog wird sich mit den Themen:
- DotNet - Entwicklung
- DotNetNuke (Entwicklung, Installation, News, Informationen)
- Datenbanken
- und alles was ein Entwicklerherz höher schlagen lässt....
beschäftigen.
So, nun aber ran ans bloggen.
Daniel
PS: Wer Fehler findet, darf diese behalten ;)
|