既然你要最适合的解决方案,我的经验是看预算。
通常的Winform客户端,与服务器的关系,大部分是与数据库服务器的关系。
1、如果是小规模应用,项目费用低于50万,客户端低于100个来说。
可以考虑直接用计时器轮询数据库的方式。
2、如果是三层应用,Client Application Database,则应该你已经在Client 和Application之间有通讯机制的建立,但有可能还是类似Client to Database一样,必须客户端主动询问,无法由服务端发出的。
3、不管是使用WCF还是SOCKET或是signalR,这本质上是另外一件事,而这事其实真心不简单,要实现可能手快一点,半小时~半天可能就实现了,但是出错处理,多线程处理,错误调试,最终有可能陷这里面一个月不止。
类似问题很多ERP客户问过我,希望在系统里面实现简单QQ的,基本被我用成本击退了。
因为他们以为是顺手,我以为是10万。
说得有点乱了,
1、Client to Database, 这是最简单的。 加一个功能,不考虑服务器承载能力,加一个功能只需要考虑UI,快的话不用一天,相对于项目成本(超过30天),可以说基本没有变化。
2、Client to Server communication + Client to Database 这是两件事
Client to Server Communication 是一个需要学习的课题,相对于Client to Database,需要了解更多底层,另外调试很麻烦。