C# 在Visual Studio中调试Topshelf创建的服务时,是否可以连接到该服务?

C# 在Visual Studio中调试Topshelf创建的服务时,是否可以连接到该服务?,c#,topshelf,C#,Topshelf,我发现了一个使用Topshelf创建服务并在VisualStudio中运行的教程。它起作用了,因为服务不需要外部的任何输入;它只是在计时器上不断地做一些事情。但是,如果我使用Topshelf创建了一个服务,它接受来自另一个进程的命令,并在VisualStudio中运行它,那么是否仍然可以从另一个进程连接到该服务?还是不可能 例如,如果服务具有此功能 public void OnCustomCommand(int command) { Console.WriteLi

我发现了一个使用Topshelf创建服务并在VisualStudio中运行的教程。它起作用了,因为服务不需要外部的任何输入;它只是在计时器上不断地做一些事情。但是,如果我使用Topshelf创建了一个服务,它接受来自另一个进程的命令,并在VisualStudio中运行它,那么是否仍然可以从另一个进程连接到该服务?还是不可能

例如,如果服务具有此功能

    public void OnCustomCommand(int command)
    {
        Console.WriteLine("Got " + command);
我在Visual Studio中运行该服务。我可以使用下面的代码从另一个进程连接到服务吗


好的,topself创建了一个简单的控制台应用程序来启动服务。您可以附加到这个进程进行调试我怀疑在调试模式下,它不是一个真正的服务,因此另一个进程无法使用常规方式(
ServiceController
)连接到它,我想知道Topshelf是否提供了任何框架来模拟发送命令,有点像我可以在另一个应用程序中使用的假的
ServiceController
。我想没有这样的事。
ServiceController sc = new ServiceController("YOURServiceName", Environment.MachineName);
ServiceControllerPermission scp = new ServiceControllerPermission(ServiceControllerPermissionAccess.Control, Environment.MachineName, "YOURServiceName");//this will grant permission to access the Service
scp.Assert();
sc.Refresh();

sc.ExecuteCommand((int)YourMethods.methodX);