Laden...

Aus "normaler" C# Anwendung auf Website schreiben

Erstellt von dansmo vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.597 Views
D
dansmo Themenstarter:in
14 Beiträge seit 2011
vor 13 Jahren
Aus "normaler" C# Anwendung auf Website schreiben

Hallo,

vorne weg:
Ich kann nur ein wenig die einfachsten Sachen in Visual C# Express programmieren und dabei geht es immer um kleine Code Teile für eine andere Anwendung.
Jetzt möchte ich einem dieser Codes eine besondere Funktion hinzufügen:
immer wenn er ausgeführt wird soll auf einer dafür vorgesehenen Website das Datum der Ausführung angezeigt werden.
Wie geht das? Was brauche ich dazu? Ich bin schon über ASP.Net gestolpert habe aber keine Ahnung wie ich das in Visual C# Express in meine "normalen" Codes bekomme.
Kann mir da jemand einen Tipp geben?

Danke.
dansmo

A
118 Beiträge seit 2009
vor 13 Jahren

Hallo,

So wie ich das verstanden habe, möchtest du, dass auf einer Website immer das letze Datum der Ausführung des Codes angezeigt wird.

Lade das Datum auf der Website doch einfach von einer Datenbank. Per Code kannst du dann leicht auf diese Datenbank zugreifen und das Datum dem entsprechend ändern.

Mfg
Aratar

D
dansmo Themenstarter:in
14 Beiträge seit 2011
vor 13 Jahren

Hallo,

genau, das Datum der letzten Ausführung des Codes.
Die Datenbank ist dann auf dem Server der Website installiert? Verstehe ich das richtig?

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo dansmo,

ja genau so ist es,

Du könntest deine Anwendung als Dienst Implementieren und diese Anwendung auf dem Server Installieren.

Wenn das Programm nicht auf dem Server Installiert werden soll, könntest Du auch einen Webservice dazu erstellen, der sich im Prinzip nur darum kümmert, dass das aktuelle Datum in der Datenbank steht.

... und noch viele weitere Varianten, genaue Infos können wir Dir erst geben wenn Du uns ein wenig mehr von deinem Vorhaben erzählst.

Viele Grüße
Lars

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

wenn es tatsächlich nur um das Datum geht, halte ich eine Datenbank für leicht "oversized", vor allem will man ja die DB nicht direkt ins Internet stellen und braucht dann in irgendeiner Form ein Dienstprogramm (z.B. wie erwähnt WebService), das die DB auch auf Anfrage füllen kann.

Man könnte stattdessen einfach das Datum mittels WebClient.UploadString auf den Server mit der ASP.NET-Site hochladen. Dann braucht man lediglich einen HttpHandler, der dort in seiner ProcessRequest-Methode den String annimmt und in eine Datei speichert sowie in context.Application ablegt. Bei Anwendungs- / Serverneustart kann man dann das Datum aus der Datei laden (Stichwort Global.asax). Die Page, die das Datum anzeigen soll kann über ihr eigenes Application-Property schnell und ohne DB- oder Dateizugriff das aktuelle Datum abrufen 😃

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

D
dansmo Themenstarter:in
14 Beiträge seit 2011
vor 13 Jahren

Dann vielleicht nochmal zum Sinn und Zweck des Ganzen:

ich schreibe ein kleines, aber wertvolles Add-in. Im Moment habe nur ich Zugriff auf den Rechner und auf das Tool. Da das zukünftig aber nicht der Fall sein wird und ich überprüfen möchte ob bestimmte vertraglich vereinbarte Regelungen eingehalten werden, möchte ich gerne in ein Logbuch, das ich eben auch von außerhalb der Organisation abrufen kann, das Datum der letzten Tool- Ausführungen anzeigen. Es geht um Kontrolle. Da das Haupttool, in das das Programm integriert ist, über eine Internetverbindung verfügt kam ich auf die Idee, das in dieser Weise kontrollieren zu können.
Es geht also um etwas relativ einfaches. Wichtig ist nur, dass der user davon nichts mitbekommt.

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo dansmo,

mit Deinem letzten Satz zeigst Du ja mehr oder weniger implizit, daß die Art der Überwachung wie Du sie vorhast nicht im Sinne des Users sein kann, sonst bräuchtest Du das ja nicht versteckt zu machen.

Damit bewegst Du Dich ggf. rechtlich (aber IANAL), zumindest aber moralisch auf sehr dünnes Eis, zumindest was meine Moralvorstellungen betrifft. Eine solche heimliche Überwachung ist etwas, was mir persönlich sehr widerstrebt.

Ich an Deiner Stelle würde unbedingt in Erwägung ziehen, sowas mit dem User zumindest abzustimmen, wenn nicht ganz sein zu lassen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

D
dansmo Themenstarter:in
14 Beiträge seit 2011
vor 13 Jahren

Hallo MarsStein,

glaub mir: das spielt keine Rolle in dieser Situation. Letztlich bin ich der user und ich will nur überprüfen, ob nach Beedndigung eines Vertrages die Software weiterhin ausgeführt wird. Ich will also nur überwachen, ob mein Auftraggeber unmoralisch gegen den Vertrag handelt.
Wie macht man das am besten? Ich muss das von außerhalb überprüfen können.

16.842 Beiträge seit 2008
vor 13 Jahren

Ich muss das von außerhalb überprüfen können.

Abgesehen davon, dass ich solch eine Funktion aufs äußerste verurteile, ist dies aus Datenschutzsicht sicherlich so zu werten, dass es - berechtigt - gegen Dich ausgelegt werden kann.
Überleg Dir andere Möglichkeiten der Lizenzüberprüfung.

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo dansmo,

Erweitere dein Programm um eine Online Update Funktionalität, dass könnte man einem Kunden Verkaufen und zusätzlich könntest Du in der DB das Datum der letzten Update anfrage, mittels dem von dir vergeben Lizenz Key und Datum speichern. Zusätzlich könntest Du noch einbauen, dass das Programm ohne diese Update Prüfung nicht startet.

Viele Grüße
Lars