2010-11-23 20 views
0

Hier ist das einfache Szenario, das ich anwenden möchte;Ausführen eines .NET-Programms als Hintergrunddienst

  1. Es gibt eine .NET-Anwendung (Konsole oder Windows) appA und dieser Code aktualisiert eine große globale Variable (+ 50MB) im Projekt alle 30sec.
  2. Ich habe eine andere Anwendung AppB, die eine .NET-Webanwendung ist, und ich möchte auf den aktualisierten Wert der globalen Variablen in appA von appB zugreifen können, wann immer ich will.

Was schlagen Sie mir zu diesem Zweck vor?

+0

Werden diese beiden immer auf demselben Computer ausgeführt? –

+0

Sie müssen einige Technologien (db, Webservice, Datei usw.) identifizieren, die als Ihre Integrationsschicht dienen. Dann kann Ihre Frage einfach beantwortet werden. – BozoJoe

+0

@James Ja, sie werden auf demselben Computer laufen. @BozoJoe Ich kann jede dieser Technologien verwenden, aber das Schreiben in db oder in eine Datei scheint ein schlechter Weg zu sein, da meine Variable sehr groß sein wird. –

Antwort

0

Flache Datei, Datenbank, Remoting oder Sockets sind einige Möglichkeiten, wie Sie es tun können. Die Antwort hängt von bestimmten Faktoren ab, z. B. ob die Daten sensibel sind oder nicht, wie viele Computer die App verteilen soll und ob mehrere Instanzen von appA vorhanden sein können.

+0

Hallo DaMartyr, die Variable wird groß (50MB +) und das Schreiben in eine Datei oder eine Datenbank scheint nicht so machbar. Diese Variable wird alle 30sec geändert, ist es trotzdem eine gute Idee, sie in db oder Datei zu speichern? –

2

Meine ersten Gedanken sind Anwendung A als windows service ausgeführt haben und das Schreiben an einige freigegebene Speicherort für die Webanwendung.

+0

Ich sehe Jason, ich dachte auch so etwas, aber die Variable wird groß sein (sagen wir 50MB +), ist es noch machbar, es in einer Datei zu speichern und es aus der Webanwendung zu laden? Kann ich nicht so etwas wie einen Windows-Dienst erstellen, der ständig ausgeführt wird, und einen Webdienst für diesen bestimmten Windows-Dienst, der auf die Variable zugreift und sie von einem einfachen REST-Aufruf von der Webanwendung zurückgibt? –

0

Wenn die 2 auf demselben Computer ausgeführt werden, können Sie die Registrierung verwenden oder sie in einer Datei oder Datenbank speichern.

Wenn es möglicherweise auf anderen Computer-Datenbank ausgeführt wird, könnte die beste Alternative sein.

Verwandte Themen