如何在应用程序(控制台或服务)和web服务之间共享数据

本文关键字:服务 web 之间 数据 共享 应用程序 控制台 | 更新日期: 2023-09-27 18:05:23

我有以下情况:

  • 处理数据并维护表示统计数据的数据结构的windows服务

  • 简单的REST web服务(asp.net webapi)

我希望给定一个由mvc.net webapi控制器处理的web请求,返回的数据由windows服务提供。

简单地说,我想避免使用数据库只是为了将数据从windows服务传递到web应用程序控制器。

原因是性能,因为它是实时数据和相当大的数量,所以我想避免实时数据库读写的瓶颈…

这可能吗?

Redis是唯一的选择吗?

我当然很感激。. NET在应用程序之间缓存数据的方式,而不必通过带有Vagrant设置的VirtualBox运行Ubuntu机器…

谢谢!

如何在应用程序(控制台或服务)和web服务之间共享数据

这几乎是MSMQ设计的理想状态。

多亏了Mati Cicero,我终于走了Redis的路,它看起来非常适合实时需求。

我必须使用ServiceStack,因为我在c#中,我唯一的失望是设置本可以更简单(Ubuntu服务器Redis,在VirtualBox中运行)。

我希望这个设置可以在生产环境中保持(c#部分的Win Server + Redis的Linux Server)…

由于数据是可恢复的,您可以尝试快速非持久NoSQL存储。

如果没有共享数据就更好了。将web服务调用到Windows Server以请求当前所需的数据。维护共享状态(例如在数据库中)是繁重的。如果可能的话,我会完全避免。

一个非常快速的IPC机制是WCF在命名管道上。