我有以下情况:
一个窗口服务,用于处理数据并维护表示统计信息的数据结构等
一个简单的REST Web服务(asp.net webapi)
我希望在给定由mvc.net webapi控制器处理的Web请求时,返回的数据由Windows服务提供。
简单地说,我想避免仅使用数据库将数据从Windows服务传递到Web应用程序控制器。
原因在于性能,因为它是实时数据和相当大的数据,所以我想避免实时数据库读写的瓶颈......
这可能吗?
Redis是唯一的选择吗?
我肯定会感谢更多的.NET'在应用程序之间缓存数据的方式比通过Vagrant设置通过VirtualBox运行Ubuntu机器...
谢谢!
答案 0 :(得分:1)
这几乎是MSMQ设计的理想选择。
答案 1 :(得分:1)
由于Mati Cicero,我终于走了Redis的道路, 它看起来非常适合实时需求。
我必须使用ServiceStack因为我在C#中,我唯一的失望是设置可能更简单(Redis的Ubuntu服务器,在VirtualBox中运行)。
我希望这个设置可以在生产环境中运行(Win Server for C#parts + Linux Server for Redis)......
答案 2 :(得分:0)
由于数据是可恢复的,您可以尝试快速非持久性NoSQL存储。
更好的是根本没有共享数据。将Web服务调用到Windows Server中以仅请求它现在需要的数据。维护共享状态(例如在数据库中)是繁重的。如果可能的话,我完全避免这种情况。
非常快速的IPC机制将是WCF而不是命名管道。