从asp.net调用客户端窗口服务

时间:2013-09-16 13:52:36

标签: c# asp.net windows windows-services

我有一个asp.net应用程序必须调用客户端Windows服务,该服务将启动先前安装在客户端计算机中的exe。 我使用ServiceController类来管理服务:sc = new ServiceController("HippoTwain", Environment.MachineName); 我使用sc.ExecuteCommand((int)HippoTwainMethods.Select);来调用该服务 然后,该服务确实:

ApplicationLoader.PROCESS_INFORMATION procInfo;
ApplicationLoader.StartProcessAndBypassUAC(@"C:\HippoCard\HTwain\HTwain.exe", out procInfo);

问题是:asp.net正在调用Server服务,但我需要从客户端计算机调用该服务。 我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果要访问客户端计算机上安装的服务,显然必须从客户端调用它。这意味着来自Silverlight控件或来自javascript。

我建议将Windows服务托管在localhost上作为Web服务。在此Web服务中添加一个曾经调用的方法来启动您的进程。 在您的页面上添加一个Silverlight控件,该控件调用上述方法或对该方法进行jquery.post()调用。显然你需要注意安全问题,但是你明白了:你不能使用服务器端执行的代码访问客户端的资源。