Autor Beitrag
Soc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: Fr 20.11.09 08:26 
Hallo Zusammen,

ich suche eine Möglichkeit Daten zwischen einen Windows Dienst und ein WinForm Application zu sharen.
Hintergrund:

Ich programmiere gerade einen Dienst, welcher einen Scheduler ergeben soll.
Dieser Dienst soll jede Minute eine Queue auslesen in der festgehalten ist wann, weche Aktionen zu tätigen sind.

Diese Queue wird von einer Windows Application verwaltet und entsprechend angepasst.

Anfänglich bin ich auf die Idee gekommen diese Queue in der Registry abzubilden. Dieses scheint mir zwar ein machbarer Weg zu sein, aber ich denke das es auch eine Möglichkeit geben muss über "shared memory" dieses zu verwirklichen.
Es fehlt mir dazu aber komplett das Wissen wie man sowas am besten programmiert.

Hat jemand von Euch einen Tip ?

Gruß

Soc
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 20.11.09 20:52 
Egal ob Inter-Process oder Intranet, WCF dürfte die beste Wahl sein: stackoverflow.com/qu...nication/84893#84893

Eine Art gemeinsamer Speicher könntest du zwar über Memory-Mapped Files erreichen, für die Frequenz ist das aber sicherlich übertrieben.

_________________
>λ=
Soc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: Mi 25.11.09 10:57 
Hallo Sebastian,

ich habe mir beide Themen mal genau angeschaut und bin zu den Entschluss gekommen, dass WCF sehr aufwendig ist. Ich muss gestehen das ich die Vorgehensweise bei WCF nicht ganz verstanden habe und es mir zu aufwendig für meine Anwendung ist.

Hintergrund:
Ich habe einen Dienst am laufen, welcher einen Log in eine shared Memory schreiben soll.
Dieser Log wird von einer GUI ausgelesen und dem Benutzer immer aktuell gezeigt.
Nicht mehr und nicht weniger.

Ein einfaches shared memory Beispiel aus dem Netz scheitert leider daran, das ein Teil der Sources fehlt.
Laut Beispiel wäre damit eine shared Memory mit ein paar Anweisungen erstellt.

Gibt es da nicht "einfaches" um ein shared Memory zu nutzen ?

Gruß

Soc
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 25.11.09 13:29 
Hallo,

ich habe auch mal mit .net SharedMemory verwendet - das ging ziemlich gut. Würde dir aber in deiner Situation davon abraten.

Hast du dir mal Log4Net angeschaut? logging.apache.org/log4net/index.html

log4net is a tool to help the programmer output log statements to a variety of output targets. log4net is a port of the excellent log4j framework to the .NET runtime.

Damit solltest du dein logging beliebig ohne großen Aufwand in den Griff bekommen. Für die Anzeige gibt es auch spezielle Log-Viewer.

Gruß Daniel
Soc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: So 29.11.09 15:11 
Log4net nutze ich selber für das "normale" Logging.
Hab nicht gewusst das es auch eine Art "shared Memory" inne hat.

Gruß

Soc