Ablaufdatum z.B. mit Key

07/27/2017 14:09 Prehistoric#1
Hey ePvP,

bin momentan an einem kleinen C# Projekt am Arbeiten, leider finde ich keine Möglichkeit eine Art Ablaufdatum der Software zu programmieren.

Habe bisher keine Funktion gefunden, die es mir ermöglicht aus einer Datenbank (MSSQL) auszulesen wie viele Tage verbleiben um die Software zu nutzen.

Das Sperren der Software nach der abgelaufenen Zeit bekomme ich allerdings hin.

Hat da jemand einen guten Ansatz für mich?
07/27/2017 14:12 SyntaxBreaker#2
Die Sprache wäre noch hilfreich, dann könnte man gleich ein codesnippet mitliefern.
Generell würde ich das ganze, wenn möglich Serverseitig machen, also z.B. mit einem Unix Timestamp.

Du trägst die "Aktivierungsdatum" ein und addierst darauf die Dauer, wie lange es aktiviert ist. Dann kannst du jederzeit die Serverzeit abfragen und mit dem "Ablaufdatum", also Aktivierungsdatum+Dauer vergleichen (Serverzeit >= Ablaufdatum -> Sperren)

Edit: Du kannst die HWID(Hardware-ID) zum identifizieren des Programms nutzten.
07/27/2017 14:47 Prehistoric#3
Quote:
Originally Posted by avenger2k View Post
Die Sprache wäre noch hilfreich, dann könnte man gleich ein codesnippet mitliefern.
Generell würde ich das ganze, wenn möglich Serverseitig machen, also z.B. mit einem Unix Timestamp.

Du trägst die "Aktivierungsdatum" ein und addierst darauf die Dauer, wie lange es aktiviert ist. Dann kannst du jederzeit die Serverzeit abfragen und mit dem "Ablaufdatum", also Aktivierungsdatum+Dauer vergleichen (Serverzeit >= Ablaufdatum -> Sperren)

Edit: Du kannst die HWID(Hardware-ID) zum identifizieren des Programms nutzten.

C# steht doch als Präfix :D


D.h. am besten wäre es die Serverzeit abzufragen und zu sagen, wenn das Datum 30.08 ist, dass es ausläuft?

Auf die Idee bin ich nicht gekommen, werde mich darüber mal informieren :)! Danke auf jeden Fall schon einmal.
07/27/2017 15:03 SyntaxBreaker#4
Ay sorry hab ich total übersehen.

hab das jetzt mal schnell ausm Internet:
DateTimeOffset.Now.ToUnixTimeSeconds()

Damit holst dir den UnixTimeStamp des aktuellen Datums + Uhrzeit dort rechnest du die Dauer drauf (1Tag = 86.400 Sekunden) also für jeden Tag +86.400 und dann kannst einfach die aktuelle Serverzeit in Unixformat vergleichen.
12/07/2017 02:24 Onkelmat#5
public void vali()
{
if ((int)new TimeSpan(DateTime.Now.Ticks - new DateTime(2017, 12, 03).Ticks).TotalDays <= 14)
return;
Process.Start("http://www.elitepvpers.com");
Environment.Exit(0);
}

Vergleicht die Zeit nur mit der PC Uhrzeit, also lässt sich austricksen, solltest du aber ohne Probleme auf eine Serverabfrage ändern können.