ASPMVC和WinForm应用程序之间的通信我正在寻找一种用户可以在ASP和WinForm应用程序之间进行通信的方式。我在看soluto.com之类的东西,我想让用户通过该网站向其他计算机发送命令。假设一个用户注册了10台计算机,这些计算机都注册在mvc应用程序上。用户可以选择所有10台计算机并单击按钮发送“执行此任务”。我在想的是Winform将创建一个httplisten服务器。每次打开winform时,它都会向mvc发送一个“我在线”的帖子以及IP:端口。服务器将在需要时向该ip:port发送请求。这种方法看起来很不安全,开放端口,配置防火墙等似乎有点大材小用。我想知道是否还有其他方法可以实现这一目标。感谢您的帮助。PS在你宣布这是一个愚蠢的想法之前,Piriform也在做类似的事情。查看Agomo.com使用SignalR和正确构建的Web和Windows应用程序(例如MVP、MVC等)SignalRwithwindowclient(WPF)ConsoleapplicationandSignalR在WinForm应用程序中创建WCF服务,指定端点(和适当地保护端点),并以与连接到WCF服务相同的方式从ASP.NET应用程序连接到所述端点。为什么不让Winforms应用程序使用标准的HttpClient或WebRequest来定期轮询服务(可能每5秒左右)并询问是否有任何任务需要执行?除非您需要实时、低延迟、高性能的通信,否则这是解决问题的最简单方法,只需最少或零客户端设置或安全配置。我这样做的方式是在数据持久层中像堆栈一样实现它。因此,每个客户端都可以向表中添加在任务排队时添加的行。当客户端向MVC服务器发送HTTPGET请求时,它将返回该客户端的任务列表,您可以让它立即从数据库中删除它们,或者等待客户端稍后发送HTTP命令来指示哪个它完成的任务。您可以将任务表示为具有某些属性的简单数据对象,或者只是一个字符串或整数,您可以以某种方式在客户端上查找以调用适当的代码。为了合理的安全性,每个客户端只需要获得一个唯一的密钥,如GUID或等价物,它可以稍后将其发送到服务器以验证其身份。这也称为cookie、密钥或API密钥。以上就是《C#学习教程:ASPMVC与WinForm应用程序的通信》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
