如果我创建了一个Windows服务,有没有办法从asp.net中调用该服务?
你的意思是要管理该服务吗?比如启动,停止,重启等操作? 如果是的话,答案是肯定的。 有一篇很好的文章在www.csharp-examples.net上,将向您展示如何使用ServiceController类。
然而,如果你的意思是像Web服务一样发送消息给它,那么答案就取决于你如何公开你的服务。Windows服务可以托管WCF服务,因此如果您想将Windows服务公开给Internet客户端,则这将是一个不错的选择。
executecommand
,发送integer
/enum
作为消息非常容易。var myService = new ServiceController("SimpleService");
myService.ExecuteCommand(128);
myService.ExecuteCommand((int)SimpleServiceCustomCommands.ScanFiles);
而myService
看起来像:
public class myService : ServiceBase
{
...
protected override void OnCustomCommand(int command)
{
//executes logic