Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将请求从发布的ASP.NET查询字符串传送到本地Windows进程并返回结果_C#_Asp.net_Ipc - Fatal编程技术网

C# 将请求从发布的ASP.NET查询字符串传送到本地Windows进程并返回结果

C# 将请求从发布的ASP.NET查询字符串传送到本地Windows进程并返回结果,c#,asp.net,ipc,C#,Asp.net,Ipc,我目前正在开发的模型包括三个要素: 具有相当丰富GUI的客户端应用程序 ASP.NET/IIS web服务器 和一个本地Windows进程控制台应用程序 在我看来,客户端应用程序1将查询字符串发布到ASP.NET/IIS web服务器2,该服务器将查询参数通知本地Windows进程3,执行所需的函数,并将数据返回到2,然后返回到1 这种看似错综复杂的进程的必要性来自Windows进程的本质。此控制台应用程序使用RPC连接第二台服务器并对其自身进行身份验证。正如你所想象的,这个过程是昂贵的 如果我

我目前正在开发的模型包括三个要素:

具有相当丰富GUI的客户端应用程序 ASP.NET/IIS web服务器 和一个本地Windows进程控制台应用程序 在我看来,客户端应用程序1将查询字符串发布到ASP.NET/IIS web服务器2,该服务器将查询参数通知本地Windows进程3,执行所需的函数,并将数据返回到2,然后返回到1

这种看似错综复杂的进程的必要性来自Windows进程的本质。此控制台应用程序使用RPC连接第二台服务器并对其自身进行身份验证。正如你所想象的,这个过程是昂贵的

如果我合并Windows进程和ASP.NET/IIS页面,则每个请求都会打开一个新连接。如果连续快速发布几十篇帖子,这几乎是不合理的,因为每个认证案例大约需要4秒钟

幸运的是,Windows控制台应用程序可以登录一次并维护会话。因此,我必须找到一个与这个控制台应用程序接口的解决方案,因为任何交互的源都将来自ASP.NET/IIS页面

关于Stackoverflow/MSDN,我几乎读过每一篇关于这个问题的帖子。我知道我可以使用远程处理、管道、插座、WCF等

所以我问你们所有人:如果你们遇到过类似的问题,你们是如何解决的?我只是要求在正确的方向上有一个明确的观点。如果您能提供代码,我将更加感谢您的回复


非常感谢您的帮助

检查此项:

听起来您需要队列来序列化请求!请求由客户端序列化,并由ASP.NET/IIS web服务器100%成功接收。问题在于将请求传递给控制台应用程序。谢谢你的建议!为什么使用ASP.NET/IIS服务器进行间接寻址?富GUI不能直接调用控制台应用程序吗?@ggonsalv老实说,我曾尝试使用TCP套接字,但我的服务器保护过度,即使防火墙被禁用,因此也无法继续监听。所以我决定使用blah.com/api.aspx?call=getRecentData&name=Brad这样的请求,它应该返回大小约1KB的Json格式的结果。我认为HTTP请求更像API,更健壮。GUI/服务器组合工作正常,服务器/服务器组合工作正常,我只需要让两个本地部分相互通信就行了。