从另一台机器访问控制台应用程序 - .NET
我有一台机器,我运行一个web服务,需要调用机器B上的控制台应用程序。它们都在同一个域上,我可以调整权限if我需要。从另一台机器访问控制台应用程序 - .NET
我应该为此使用远程还是WCF帮助?
从体系结构上看,您听起来像有一个服务A需要启动工作流程,并且该工作流程恰好是控制台应用程序。在其他服务器上。如果是这样的话,我会创建一个与控制台应用程序位于同一台服务器上的服务B.并让服务A使用WCF对服务B进行排队调用。您不想直接调用,因为您不希望自己的服务阻止您的控制台应用程序的结果。
有很多好的跨服务排队呼叫的例子。请参阅“排队呼叫”here。如果服务A需要来自服务B的关于呼叫成功或失败的响应,则这是排队的呼叫以其他方式返回。
如果您位于Windows域中,则可以使用Sysinternal工具发出远程过程调用(RPC)。
的Sysinternals Suite:http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx
有些是有助于这个Sysinternal工具包括:
- psexec.exe - 远程执行
- pskill.exe - 终止远程过程
- psservice.exe - 启动/停止远程服务 服务
如果你是一个Linux,我经常只需要安装OpenSSH,然后SSH到另一台机器上。 Linux有一个RPC方法,但我不熟悉它。
我不建议手动发布RPC的... – 2011-01-26 22:44:09
通过ServiceB,你的意思是一个WCF的网络服务或Windows服务? – DotnetDude 2011-01-26 21:02:43