问题与this问题有关,如果我没有在那里进行描述的话 可以从另一个程序运行一个程序并在启动后从该运行程序中调用一些函数吗?例如,我可能想从WCF服务运行一些Windows程序,它将在sip服务器上注册,当我需要从服务中询问它以启动对某些号码的调用。那么它是否可能(没有运行某些消息服务器)以及在哪里可以找到有关如何实现它的信息,如果是的话? 谢谢。
答案 0 :(得分:1)
以下是一些常见的方法。
1)命令行参数。将命令行参数传递给解释这些参数的应用程序,执行某些操作并退出
2)进程间通信(IPC)。这指的是允许2个进程进行通信的任何技术。有很多方法可以做到这一点,但在Windows上使用命名管道是常见的方法。有关示例,请参阅http://www.codeguru.com/csharp/csharp/cs_misc/sampleprograms/article.php/c7259/InterProcess-Communication-in-NET-Using-Named-Pipes-Part-1.htm。
3)将被叫应用程序作为网络服务运行,该服务公开包含您要调用的函数的端点。该服务仍在运行并接受随后执行的网络请求,并以结果作为回应。
4)控制台stdin和stdout重定向(不确定是否有更好的名称)。这是(1)的变体,其中(仅控制台)应用程序仍在运行,但调用应用程序控制控制台应用程序的stdin和stdout,因此可以与之交互。 (实际上,它可以在控制台中输入内容并读取写入控制台的内容。)