Push-Benachrichtigung in C# verschicken

Push-Nachrichten in C-SharpIn dem heutigen Artikel wollen wir uns damit beschäftigen, wie man aus C# heraus Push-Benachrichtigungen an Smartphones schicken kann. Dabei spielt es keine Rolle, ob es sich dabei um ein Android- oder ein Apple/iOS-Gerät handelt. Doch wann benötigt man solch eine Funktionalität überhaupt?
Ich selbst betreibe zum Beispiel ein paar Nischenseiten (Nischenseiten – was ist das?), mit denen ich über Partnerprogramme monatlich etwas dazu verdiene. Die Einnahmen-Reports muss man sich jedoch bei fast allen Partnerprogrammen proaktiv abholen. So habe ich mir einen kleinen C#-Client geschrieben, der regelmäßig die Reports runterlädt und mir bei neuen Verkäufen eine Push-Benachrichtigung verschickt. Das ist jedoch nur einer von vielen Anwendungsfällen und ich bin sicher, dass euch noch einige mehr einfallen. Doch nun zurück zum Thema.
Auswahl der Push-Plattform
Für eine […]

Swiss QR Code in C# und VBA erzeugen

Swiss QR Code in C-Sharp und VBAHeute begeben wir uns einmal etwas mehr ins geschäftliche Umfeld. Seit Ende April hat die SIX die Spezifikation für den neuen Swiss QR Code nach ISO 20022 herausgegeben. Der Swiss QR Code ist integraler Bestandteil des neuen Schweizer Einzahlungsschein, der sogenannten QR-Rechnung, die bis spätetens Mitte 2018 durch alle Unternehmen umgesetzt werden soll. Der Swiss QR Code wird im sogenannten “Zahlteil mit QR Code” der QR-Rechnung platziert.
Im folgenden soll es darum gehen, wie der Swiss QR Code mittels C# oder VBA erzeugt werden kann. Dazu nutzen wir die kostenfreie QRCoder-Bibliothek, welche ich vor knapp 4 Jahren entwickelt und kürzlich um den Swiss QR Code erweitert habe. Gezeigt wird nur die Implementierung des QR Codes, nicht aber […]

.NET Core – gdiplus.dll nicht gefunden unter Ubuntu

Die Tage kam es zu einer Fehlermeldung in meinem QrCoder-Projekt. Es wurde gemeldet, dass der Code nicht unter Linux laufen würde, da es zu folgender Fehlermeldung käme:

Unhandled Exception: System.TypeInitializationException: The type initializer for ‘System.Drawing.KnownColors’ threw an exception.
—> System.TypeInitializationException: The type initializer for ‘System.Drawing.GDIPlus’ threw an exception.
—> System.DllNotFoundException: Unable to load DLL ‘gdiplus.dll’: The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
at System.Drawing.GDIPlus.GdiplusStartup(UInt64& token, GdiplusStartupInput& input,
[…]

Die Fehlermeldung hatte ihren Ursprung jedoch nicht in meinem QrCoder, sondern in dem Zusammenspiel des .NET Core Frameworks mit der GDI Plus Bibliothek. Das .NET Core Framework versucht beim Zugriff auf “System.Drawing.GDIPlus” auf die “gdiplus.dll” zuzugreifen, welche es unter Linux einfach nicht gibt.
Erster Lösungsansatz
Zuerst sollte sichergestellt werden, dass GDI+ überhaupt installiert ist. Dies lässt sich mit folgendem Shell-Befehl nachholen:

sudo apt-get install libgdiplus

Wenn libgdiplus installiert ist, fehlt jedoch noch ein weiterer wichtiger Schritt…
libgdiplus für .NET Core verlinken
Da das .NET Core Framework, unabhängig vom […]

SSL/TLS-Zertifikate in C# herunterladen

SSL-TLS Zertifikate in C-Sharp downloadenIn diesem Artikel soll es darum gehen wie man SSL/TLS-Zertifikate beliebiger Server in C# herunterladen bzw. speichern kann. Zwar lassen sich Zertifikate heutzutage auch recht einfach aus dem Webbrowser heraus speichern, jedoch ist dies immer mit recht vielen Klicks verbunden. Und spätestens, wenn man Zertifikate von Mail-Servern, etc. speichern möchte, also Systemen die nicht direkt im Webbrowser angesprochen werden können, ist eine programmatische Lösung, wie in diesem Beitrag gezeigt, der einfachere Weg.
Insgesamt möchte ich heute zwei Varianten vorstellen. Eine Variante, die nur für HTTPS-Verbindungen funktioniert und eine Variante, die für sämtliche TCP-Verbindungen (also auch Mailserver, etc.) funktioniert.
HTTPS/SSL-Zertifikate in C# herunterladen
Die erste angesprochene Lösung funktioniert nur für HTTPS-Verbindungen und basiert auf der HttpWebRequest-Klasse, welche auch unter der WebClient-Klasse liegt. Erstellt man ein […]

How to: Poker Hand Evaluator in C# implementieren

Pokerhand Evaluator CsharpDas Thema Poker habe ich nun schon in dem ein oder anderen C#-Artikel als Aufhänger genommen, um tiefer in verschiedene Programmierthematiken einzusteigen. So gab es bereits einen Artikel zur Bildanalyse, einen zur Berechnung der Gewinnwahrscheinlichkeit und einen, in dem die beiden eben genannten kombiniert wurden.
Alle drei Artikel haben eines gemeinsam. Sie basieren auf einer Bibliothek, die ermitteln kann, welche Pokerhand in einem direkt Vergleich der Gewinner ist. Solch eine Bibliothek nennt man auch “Hand evaluator”, da sie zwei Pokerhände evaluieren kann. Und genau hier wollen wir heute ansetzen.
In diesem Artikel wollen wir Schritt für Schritt eine eigene C#-Bibliothek zum Vergleich zweier Pokerhände erstellen. Hierzu arbeiten wir uns nach und nach zum Ziel. Beginnen werden wir mit den Datenstrukturen für Spielkarten und Pokerhände. […]