[英]Can you call an external application from a Windows 10 Universal application? c#
[英]How to call an external windows application with UI by a c# application?
我们有一个带有 GUI 的程序 ( A.exe ) 和一个工具栏,它用一些文本来做 NLP 的东西。 在该工具栏中,我们有function A ,它通过添加一些 xml 标签来转换文本。 这里有人(老板)希望我创建一个 Web 服务调用function A 。 它告诉我动态数据交换(他几年前用过),我看到了类似SendMessage的东西。
Web 服务将被某些人通过 Inte.net 使用:发送文本并获得xml的结果。 GUI程序在有人调用WS时无法启动,因为太慢了,所以有人建议一次性启动这个A.exe ,WS会通过DDE调用来询问这个A.exe 。 我不知道A.exe在并发调用的情况下会如何反应。
Web 服务将:
我想指出:
谢谢你。
PS:用UI调用服务端程序构建WS是邪教吧?
这个问题的答案实际上取决于您要完成的任务。 您的 function 是否更改来自外部数据源(例如数据库)的数据,或者您是否在应用程序中调用 function?
我将从以下问题开始。
1)按钮的function有什么作用? 能否将其功能转移到服务中并在多个应用程序之间共享?
2)你能把功能放在 DLL 中并在两个应用程序之间共享吗?
3) 这两个应用程序真的需要相互通信吗?
如果这两个进程必须相互通信,而您只希望应用程序 A 响应来自应用程序 B 的消息,请考虑使用命名管道进行 TCP/IP 通信。 这在 .NET 中足够简单,并提供进程之间的快速通信。
更新:这是一个链接,其中包含有关使用命名管道的信息: http://msdn.microsoft.com/en-us/library/bb546085.aspx 。
更新 2:这是您更新问题后的更新。 您有权访问 A.exe 的源代码吗? 如果这样做,您有两个选择:1) 将该逻辑移到您的服务中或 2) 修改 A.exe 以接受命令行参数,以便您的服务可以调用该流程并取回结果。 如果您没有源代码并且无法从命令行调用 A.exe,那么除了以 web 服务可以调用的形式自己编写流程之外,您无能为力。
PS 你不必担心并发调用,因为每个服务器请求都会执行一个单独的进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.