本地 API 绕过 HTTP,在 .NET 和 IIS 中



我有一个内存中的对象列表(实际上只是字符串),我在.net Web应用程序中使用。它大约有 10 meg 的数据,所以我只是将其保存在 ram 中,不要弄乱数据库等。

但是,现在我需要多个 Web 应用程序来访问相同的数据。第一个想法是在此基础上添加一个 Web API,并通过 API 提供对其他应用程序的访问权限。这应该比让每个应用程序在 ram 中加载相同的 10 兆数据要好。

但这让我想知道是否有一种性能更高的方法可以在单个服务器上的 .net 中执行此操作 - 允许多个 Web 应用程序访问相同的内存中数据,而无需 Web API 的开销,也无需求助于让每个请求命中数据库。我意识到性能优势可能不值得,但我只是好奇这样的事情是否可能。

如果将

WCF 与针对同一台计算机上的进程之间的通信进行优化的传输(例如命名管道绑定)一起使用,则可以获得类似 Web API 的编程模型的所有便利,而无需开销。如果您将来需要使用多台机器,更改为不同的传输(例如TCP甚至HTTP)将像更改配置文件一样简单。看看 http://msdn.microsoft.com/en-us/library/ms752247(v=vs.110).aspx(以及 http://msdn.microsoft.com/en-us/library/ms752250(v=vs.110).aspx for TCP)

您可以查看类似AppFabric的内容,或者可能查看文档或键/值数据库。我已经为各种客户使用两者来访问相同的信息,并取得了巨大的成功。

最新更新