通过网页向Windows服务发送消息

时间:2010-04-29 20:06:39

标签: c# .net windows-services

如果没有访问被拒绝问题,我怎么能这样做?

我有一个Windows服务:

protected override void OnCustomCommand(int command)
{        
    if (command == 1)
    {
      foreach (Process traceProcess in Process.GetProcessesByName("notepad.exe"))
      {
        traceProcess.Kill();
      }                     
    }        
}

当我这样做时:

ServiceController sc = new ServiceController("ProjectManager");
if (sc != null)
    sc.ExecuteCommand(1);

从Windows窗体中,它可以正常工作,但不是来自网页,我在sc.ExecuteCommand上拒绝访问。

网页与服务交谈的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

我得到了许可问题的解决方法;套接字。

所以我的服务打开了一个本地端口(不适用于任何其他机器,只有本地端口)

然后在我的网页中,我连接到这个套接字并发送我想要的字节,作为回报,服务执行我想要的代码。

如果有人问,我可以发布示例代码。

答案 1 :(得分:0)

您需要检查应用程序池标识的权限。