Mit Windows-Diensten [in C # geschrieben] C #
-
10-07-2019 - |
Frage
Ich schrieb einen Windows-Dienst in C #, dass einige Funktionen bietet (eine öffentliche Methode) nach einer Datei in regelmäßigen Abständen zu lesen. Ist es möglich für mich, diese Funktionalität aus einer anderen Anwendung C # zu verwenden? Wenn möglich, geben Sie bitte eine Lösung auf Basis von .net 2.0 sowie .net 3.0
Danke
Lösung
Die sauberste Möglichkeit wäre, diese Funktionalität in einer separaten Assembly zu schreiben (dll), die Sie von verwenden, um sowohl den Service und der zweiten .NET-Anwendung.
Sie können , um die Service-Assembly verweisen (auch wenn es sich um eine exe ist, in VS2008 zumindest.) - aber es scheint ein wenig übertrieben
Wenn Sie die Methode im Rahmen des laufenden Dienst ausführen wollen, dann müssen Sie einige IPC benötigen (vielleicht WCF oder Sockets).
Andere Tipps
Just aussetzen WCF und es von Ihrem anderen App aufrufen. Sie sind in verschiedenen Prozessen, so dass Sie haben IPC verwenden
Abhängig hwo Sie wiederverwenden möchten.
Wenn Sie den laufenden Fenster Dienst zugreifen wollen, dann aussetzen dann Funktionalität über WCF. Von Sie einfach den Code verwenden möchten, dann legen Sie es aus einem anderen Projekt / Programm in einer Baugruppe und Referenz.
Ich würde sagen, die .net 2.0 und 3.0 wäre das gleiche von der letzteren sein, aber da .net 2.0 fmk ich eine Windows-Endpunkt remoting für die früher nicht WCF haben würde vorschlagen, wenn Sie .net 2.0 verwenden sind nur oder WCF wie gesagt.