Wenn ich einen Windows-Dienst erstellen, gibt es eine Möglichkeit, diesen Dienst von asp.net aus aufzurufen?So rufen Sie einen Windows-Dienst von asp.net
Antwort
von
"Rufen Sie das Service"
meinen Sie, den Dienst verwalten? Wie in, Start, Stop, Restart usw.? Wenn ja, dann ist die Antwort ja. Es gibt einen guten Artikel unter www.csharp-examples.net, der Ihnen zeigt, wie Sie die ServiceController-Klasse verwenden.
Wenn Sie jedoch Nachrichten an ihn senden möchten, als ob es sich um einen Webdienst handelt, hängt die Antwort davon ab, wie Sie Ihren Dienst bereitstellen. Windows Services können WCF-Dienste hosten. Das wäre also eine gute Option, wenn Sie Ihren Windows-Dienst für Internet-Clients bereitstellen möchten.
Einige Klarheit würde helfen - Sie könnten auch "Call that Service" als eine Art Remote-Methode Anruf von ASP.NET zu Ihrem Dienst zu interpretieren - z. um einen Zustand in Ihrem Windows-Dienst zu speichern.
Host eines Dienstendpunkts im Windows-Dienst, z. Verwenden von Remoting, WCF oder einfachem TCP-Socket-Server. All dies könnte von Clients aufgerufen werden, die in ASP.NET gehostet werden.
Es gibt viele Remoting- und WCF-Beispiele, die genau das tun - suchen Sie nach Hosting und einer dieser Technologien.
Einige MSDN Verknüpfung zu lesen:
Sie sollten auch über Windows Process Activation lesen - Sie können in der Lage sein, weg zu bekommen, ohne einen separaten Service zu schreiben.
Als Zusatz könnte zum Senden einer (wirklich) einfachen Nachricht auch ServiceController.ExecuteCommand(int command) verwendet werden. Mit der Verwendung von executecommand
ist es sehr einfach, eine integer
/enum
als Nachricht zu senden.
var myService = new ServiceController("SimpleService");
myService.ExecuteCommand(128);
myService.ExecuteCommand((int)SimpleServiceCustomCommands.ScanFiles);
und myService
wie folgt aussieht:
public class myService : ServiceBase
{
...
protected override void OnCustomCommand(int command)
{
//executes logic
- 1. So rufen Sie einen Webservice programmgesteuert in asp.net auf
- 2. Rufen Sie einen Webservice in asp.net Ajax
- 3. So rufen Sie einen WCF-Dienst von FitNesse auf
- 4. So rufen Sie einen einfachen Web-Service von IONIC
- 5. So rufen Sie einen Parameter in eine js von Servlet
- 6. So rufen Sie einen .NET-Webdienst von Android auf?
- 7. Lithium: So rufen Sie einen Validierungsfilter von innen heraus
- 8. So rufen Sie einen UIViewController von einer UIView SubClass auf?
- 9. So rufen Sie Haskell von Java
- 10. So rufen Sie Vb-Funktion von Javascript
- 11. So rufen Sie den Routennamen in Html.ActionLink asp.net MVC?
- 12. So rufen Sie einzelne Instanzklasse von App.xaml.cs
- 13. So rufen Sie Funktionsparameter ab
- 14. So rufen Sie Web-Service von flex
- 15. So rufen Sie QuestionAnswer mit ASP.NET-Mitgliedschaft ab
- 16. So rufen Sie eine RESTful API mit ASP.NET auf 5
- 17. So rufen Sie capistrano von ansible Skript
- 18. So rufen Sie GraphViz von Java
- 19. So rufen Sie NSBeep von Delphi
- 20. So rufen Sie Text von UIAlertViewStylePlainTextInput ab
- 21. So rufen Sie MSBuild von C#
- 22. So rufen Sie Aktion von Ajax
- 23. So rufen Sie eine WebAPI2 von VB.NET
- 24. So rufen Sie Path.Combine von MSBuild auf?
- 25. So rufen Sie dispatch_benchmark von Swift
- 26. So rufen Sie MainActivity-Methode
- 27. So rufen Sie Server-Methoden von JS in .NET 4.0
- 28. So rufen Sie einen erholsamen Service in Sharepoint 2013 an
- 29. Android - So rufen Sie Wechselkurse
- 30. So rufen Sie Monitor.TryEnter auf