我目前正在开发的模型涉及三个要素:
- 具有(相当)丰富的 GUI 的客户端应用程序
- 一个 ASP.NET/IIS Web 服务器
- 和一个本地(关于 #2)Windows 进程(控制台应用程序)
在我看来,客户端应用程序 (#1) 向 ASP.NET/IIS Web 服务器 (#2) 发布了一个查询字符串,它通知本地 Windows 进程 (#3) 查询参数,执行所需的功能,并将数据返回到#2,然后返回到#1。
这种(看似)复杂的进程的必要性源于 Windows 进程的性质。此控制台应用程序使用 RPC 连接第二台服务器并对其进行身份验证。可以想象,这个过程很昂贵。
如果我合并 Windows 进程和 ASP.NET/IIS 页面,那么每个请求都会打开一个新连接。如果连续快速进行数十个 POST,这几乎是不合理的,因为每个身份验证案例大约需要 4 秒。
幸运的是,Windows 控制台应用程序可以登录一次并保持会话。因此,鉴于任何交互的来源都将源自 ASP.NET/IIS 页面,我必须找到与此控制台应用程序交互的解决方案。
我几乎阅读了 Stackoverflow/MSDN 上关于包含此问题的主题的所有帖子。我知道我可以使用远程处理、管道、套接字、WCF 等。
所以我问大家:如果你也遇到过类似的问题,你是怎么解决的?我只是在寻求正确方向的明确点。如果您可以包含代码,我将更加感谢您的回复。
非常感谢您的任何帮助。