c# - 在 Visual Studio 中调试时可以连接到由 Topshelf 创建的服务吗?
问题描述
我找到了一个使用 Topshelf 创建服务并在 Visual Studio 中运行它的教程。它起作用了,因为该服务不需要来自外部的任何输入;它只是不停地在计时器上做某事。但是,如果我使用 Topshelf 创建一个服务,该服务接受来自另一个进程的命令,并在 Visual Studio 中运行它,那么是否可以从另一个进程连接到该服务?还是不可能?
例如,如果服务有这个,
public void OnCustomCommand(int command)
{
Console.WriteLine("Got " + command);
我在 Visual Studio 中运行了该服务。我可以使用这样的代码从另一个进程连接到服务吗?
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);
解决方案
推荐阅读
- javascript - 无法打印树枝阵列
- mysql - 子查询中的多列:SQLite、MS SQL Server
- c++ - 依赖注入一个延续库 C++
- angular - how to write unit test to cover all the condition of breakpoint observer?
- apache-spark - 是否可以在合并操作中从数据帧中读取
- reactjs - 默认值不适用于 react-select 和 Formik
- asp.net-core - 通过 RazorLight.NetCore3 模板键的 Razor 页面 HTML 渲染
- python - 无法获得熊猫的天数..它带有另一列的日期
- r - 根据项目数设置 par()
- python - 比较来自多个文本文件的列,与 csv 列文件 python