Skip to content

Instantly share code, notes, and snippets.

Avatar
😎
Ich lerne und übe gerade

Jan Suchotzki suchja

😎
Ich lerne und übe gerade
View GitHub Profile
@suchja
suchja / File_WerkTage.cs
Created Aug 7, 2017
Quellcode zur Lektion "File - Daten in Datei schreiben" des C# Kurses
View File_WerkTage.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace File_WerkTage
{
class Program
{
static void Main(string[] args)
@suchja
suchja / enum-test.vb
Created Jul 5, 2017
Zeigt die verschiedenen Möglichkeiten wie eine Enum verglichen werden kann.
View enum-test.vb
Module Module1
Enum ProcessingState
UnknownError ' Wenn kein Wert angegeben wird, dann wird automatisch mit 0 begonnen
Ready ' Und um 1 für jeden Eintrag erhöht.
Running
Paused = 10 ' Du kannst Werte auch selber vorgegeben!
End Enum
Sub Main()
Dim _currentState As ProcessingState = ProcessingState.Ready
@suchja
suchja / ObjekteSpeichernUndLaden.cs
Last active Jun 15, 2017
Die 5. Folge von #FragLernMoment erklärt dir wie du den Zustand von Objekten in eine (CSV) Datei speicherst und zu einem späteren Zeitpunkt daraus wieder laden kannst. - https://youtu.be/-GBbsxPMzg8
View ObjekteSpeichernUndLaden.cs
using System;
using System.IO;
namespace ObjekteSerialisieren
{
class Computer
{
public string ZugeordneterMitarbeiter { get; set; }
public int GeraeteId { get; set; }
public DateTime Anschaffungsdatum { get; set; }
@suchja
suchja / ToString.cs
Last active Jun 15, 2017
Der Quellcode zum C# Tutorial Deutsch in dem ich zeige wie du die ToString-Methode verwendest um den Zustand eines Objektes auszugeben - https://youtu.be/g71JndA-0qA
View ToString.cs
using System;
namespace ObjekteAusgeben
{
class Computer
{
public string ZugeordneterMitarbeiter { get; set; }
public int GeraeteId { get; set; }
public DateTime Anschaffungsdatum { get; set; }
@suchja
suchja / hello-world.cs
Created Jun 11, 2017
Hallo Welt aus dem C# Tutorial Deutsch - https://youtu.be/e-F-iHSYpzU
View hello-world.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
class Program
{
@suchja
suchja / task-timeout-for-db.md
Last active Jun 2, 2017
DB-Interaktion mit zusätzlichem Timeout
View task-timeout-for-db.md

Verwendung von TPL (Async / Await) zum Abbrechen von DB-Aktionen

Ausgangspunkt

Der Ausgangspunkt für dieses Projekt war die Anfrage wie eine Methode, die verschiedene Interaktionen mit einer Datenbank abwickelt nach einer definierten Zeit abgebrochen werden kann. Offensichtlich war in diesem konkreten Fall der Server nicht erreichbar oder wurde während der Kommunikation beendet.

Ganz allgemein stellen die verschiedenen Datenbank-Klassen (in diesem konkreten Beispiel wurde OdbcConnection und OdbcCommand verwendet) ein eigenes Timeout-Handling zur Verfügung. Ich denke, dass es auch Sinn macht die bereitgestellten Mechanismen der Datenbank-Klassen zu verwenden anstatt einen zusätzliches Timeout zu realisieren. Da momentan jedoch Zeit und Möglichkeit fehlen eine umfangreichere Fehlersuche zu machen, verwende ich dieses Projekt zum testen wie eine mögliche Lösung mit TPL (Task Parallel Library) aussehen könnte.

TPL & Async / Await

@suchja
suchja / FragLernMoment_2_Stack.cs
Created Dec 22, 2016
In der 2. Folge von #FragLernMoment zeige ich dir was auf dem Stack passiert beim Methodenaufruf.
View FragLernMoment_2_Stack.cs
using System;
namespace FragLernMoment_2_AddiereZahlen
{
class Program
{
static void Main(string[] args)
{
string ersteZahlAlsString;
string zweiteZahlAlsString;
@suchja
suchja / FragLernMoment_1_InvertText.cs
Created Dec 21, 2016
Quellcode zur ersten Folge von #FragLernMoment. Frag von Zaidi!
View FragLernMoment_1_InvertText.cs
using System;
namespace FragLernMoment_1_InvertString
{
// Frage von Zaidi: Bitte erkläre mir die Logik der Methode!
class Program
{
static void Main(string[] args)
{
string name = "Zaidi";
@suchja
suchja / ZeichenZaehlen.cs
Last active Nov 25, 2016
Quellcode zum Artikel:
View ZeichenZaehlen.cs
// Übungsziel: Klasse Dictionary<> verwenden
// zusätzliches Übungsziel: Methoden erstellen
// CSharpPad unterstützt keinen Namespace!
// Daher definieren wir direkt eine Klasse.
public class ZeichenZaehlen
{
public static void Ausfuehren()
{
Console.WriteLine(@"Starte Übung ZeichenZaehlen von http://ccd-school.de/coding-dojo/function-katas/zeichen-zaehlen/");
@suchja
suchja / TimeSpanKlasse.cs
Last active Nov 24, 2016
Gist zum C# Tutorial Deutsch - TimeSpan | .NET Klassen
View TimeSpanKlasse.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DatentypTimeSpan
{
class Program
{