Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Archiv für September 2010

In der jungen Geschichte dieses Blogs haben wir schon jetzt eine Premiere: den ersten Wunschartikel. Ich wurde darum gebeten zu schildern wie man Windows Services programmieren und vor allem wie man mit diesen aus einer Applikation heraus kommunizieren kann. Als Beispiel dafür werden wir im ersten Teil einen Dienst schreiben der nichts anderes macht als uns die aktuelle Zeit zu ermitteln. Im zweiten Teil geht es dann um die Kommunikation mit einer Applikation und den dort notwendigen Datenaustausch. Der dritte Teil beschäftigt sich dann mit den gleichen Themen aber unter dem Gesichtspunkt der WCF (Windows Communication Foundation).

Was sind Windows Services und wie erstellt man sie

Bevor wir loslegen eine kurze Erläuterung was Dienste/Services eigentlich sind. Ein Dienst ist ein spezielles Programm ohne Benutzerschnittstelle welches dauerhaft im Hintergrund des Betriebssystems läuft.

Dies bedeutet:

  • Der Service wird gestartet noch bevor der Nutzer sich angemeldet hat
  • läuft demnach auch ohne angemeldeten Nutzer
  • kann nur mit bestimmten Rechten installiert oder beendet werden
  • kann keine direkten Benutzereingaben verarbeiten
  • und stellt besondere Anforderungen an die Fehlerbehandlung, sowie das Debugging. Continue reading “How To: Erstellen und Steuern von Windows Services” »

Hendrik Lösch is a German consultant and developer of Saxonia Systems AG. His focus is on software development for industrial and medical companies. He also speaks at conferences, likes to write about his work and is test obsessed since he started with TDD.

Hendrik Lösch ist ein deutscher Consultant und Entwickler der Saxonia Systems AG. Der Schwerpunkt seiner Arbeit liegt auf der Entwicklung von Software für Kunden im industriellen und medizinischen Umfeld. Darüber hinaus schreibt und spricht er gern über seine Arbeit sowie seine Begeisterung für die Testautomatisierung in ihren unterschiedlichen Ausprägungen.

Konferenzen

2016

 

2015

2014

2013

2012

Video Trainings, Ebooks u.ä.

 

Fachartikel

2016

2015

2014

2013

  • Test != Test (Dotnetpro 09/2013) – Vergleich der aktuell am häufigsten verwendeten Testing Frameworks (MS Test, NUnit und XUnit.Net) in der .Net-Welt.
  • Infos statt Daten (Dotnetpro 08/2013) – Beschreibung des Frameworks AutoFixture und wie man mit diesem die Arrange Phase vereinfachen kann.

2012

2011

 

User Groups

2015

2014

2013

2012

2011

Hochschularbeit

  • Sep 2014 bis Februar 2015 – Leitung eines Projektseminars als Gastdozent an der Hochschule für Technik und Wirtschaft Dresden zur Entwicklung von Hybrid Apps mit dem Microsoft Toolstack.
  • 21.06.2013 – Vortrag an der Hochschule für Technik und Wirtschaft Dresden zu Composite Application Development
  • Januar 2013 – Vortrag und Seminar zu Windows Azure an der Hochschule Zittau/Görlitz
  • Oktober 2011 – Februar 2012 – Leitung eines Projektseminars als Gastdozent an der Hochschule für Technik und Wirtschaft Dresden zur Softwareentwicklung mit Microsoft Produkten (.Net, Windows Phone, Windows Azure, …)
  • 16.01.2012 – Vortrag an der Hochschule für Technik und Wirtschaft Dresden zur Softwareentwicklung mit Prism (http://www.just-about.net/vortrag-htw-pattern-clean-code-prism)

Sonstiges

Am Wochenende konnte ich endlich wieder ein wenig an meinem privaten Projekt arbeiten und bin voll in eine Anfängerfalle gestolpert. Ich arbeite an einer Art Lottozahlengenerator und habe (natürlich) die Lottozahlen in eine eigene Klasse gepackt um Wertebereichsüberprüfung (Lottozahlen können nur zwischen 0 und 50 liegen) o.ä. direkt im Model abzufrühstücken (SoC) wobei die dahinter liegende Architektur natürlich etwas komplexer ist.

Nun bringt es eine solche kleinteilige Datenhaltungsklasse mit sich, dass verschiedene Basisfunktionalitäten erneut auszuprogrammieren sind. Wie eben die Vergleichsoperatoren, nur hatte ich dort nicht an das böse Null und die Rekursionshexe gedacht.

Continue reading “Operatorüberladung und die Krux mit null” »

In meiner Diplomarbeit hatte ich ein einfaches Pluginframework umgesetzt welches per Reflection eine Assembly nach einem bestimmten Interface durchsucht, um dann die entsprechende Klasse mit Hilfe des Activators zu instantiieren. Nachteil an dieser sehr geläufigen Lösung ist vor allem, der zunehmende Speicherverbrauch da die geladenen Plugins nicht entladen werden können. Denn ist eine Assembly einer Application Domain einmal hinzugefügt wird man diese zur Laufzeit nicht mehr los.
Continue reading “Link: C# Plugins mit AppDomains realisieren” »

Nach einer kurzen Findungsphase habe ich eine neue Domain registriert und dieses Blog umbenannt. Aus dem .NET Notizblog unter www.hendrik-loesch.de ist deshalb jetzt Just about .Net unter der Domain www.just-about.net geworden. Ich werde hendrik-loesch.de zwar nicht abschalten lassen und weiter als Redict verwenden, die Nutzung der neuen Domain ist aber vorzuziehen.

Viel Spaß damit.

Nach dem ich über Verschlüsselung und Hashing geschrieben habe, kommen wir zum Signieren von Daten. Dies dient vor allem dazu zu überprüfen ob Daten verändert wurden und ist zum Beispiel beim E-Mailverkehr notwendig. Da dort auf dem Weg vom Sender zum Empfänger Daten leicht verändert werden oder sich jemand anderes für einen mir bekannten Adressaten ausgeben könnte.

Continue reading “How To: Datensignierung mit .NET” »

Ich bin ein begeisterter Nutzer von #Region im Visual Studio. In meinen Augen kann diese kleine Funktionalität den Quellcode sehr gut ordnen und vor allem Codereviews sehr vereinfachen. Dennoch kann man damit auch viel Schindluder treiben. Robert Mühsig hat dazu vor kurzem ein Post geschrieben in dessen Kommentaren überzeugende Für und Wider zu finden sind. Offensichtlich ist aber auch hier ein ewiger Kampf der Überzeugungen wie er zum Beispiel zwischen Java- und .NET-, C#- und VB- oder Delphi- und ernsthaften Programmieren besteht.

Continue reading “Holy war prevention switch in Regionrate” »

Häsch?

Ich möchte nicht erst lang erläutern worum es sich bei Hashing handelt. Lapidar ausgedrückt wird beim Hashing eine mehr oder minder große Eingabemenge in einen Wert umgewandelt der nach Möglichkeit die Eingabemenge eindeutig repräsentiert. Weißt dieser Hashwert Mehrdeutigkeiten auf, besitzt er Kollisionen. Je weniger Kollisionen auftreten desto höher die Qualität einer Hashfunktion, weshalb kollisionsfreie Algorithmen angestrebt werden.

Continue reading “Hashingalgorithmen im .NET Framework” »

Mein erster sinnvoller Post beschäftigt sich mit den Verschlüsselungsmechanismen die .NET anbietet und beziehe dabei einen Großteil meiner Informationen aus dem Self-Paced Training Kit für die 70-536 Prüfung. Ich werde bei den Erläuterungen höchstens am Rande auf die dahinterliegende Mathematik eingehen, viel wichtiger erscheint mir die Klassenstruktur sowie deren Verwendung. Wer mehr über die Hintergründe wissen möchte ist mit Wikipedia oder mit einem echten Lehrbuch zum Thema weit besser bedient. Für die im Framework vorhandenen und nicht erläuterten Verfahren bemühe man bitte die MSDN.

Weiterhin ist zu sagen, dass hier nur die Standardimplementierungen behandelt werden. Für die Cryptography API Next Generation (CNG) die seit Windows Vista zur Verfügung steht wird es ein eigenes Blogpost geben.

Continue reading “Verschlüsselung mit .NET” »

Ich habe lange Zeit überlegt ob das Internet noch ein Blog braucht. Nun sehe ich diese Seite eher als ein Notizbuch in das ich für mich interessante Dinge schreibe. Wenn andere daran interessiert sind, schön. Wenn es ihnen nutzt umso schöner.

Anfangen wird es wohl erst einmal mit Grundlagen. Denn ich bereite mich, immer noch oder schon wieder, auf die Zertifizierung vor und treffe dabei zunächst vor allem auf Dinge die nicht oft genutzt werden aber als fundamental gelten. Es sei mir daher verziehen wenn die ersten Posts etwas nach dem MCTS Self-Paced Training Kit von Tony Northrup riechen.