2014-02-22 18 views
0

我有对象的内存列表(实际上只是字符串),我使用的.NET Web应用程序。值得一数据的约10兆,所以我只是不停地在RAM中,不要与数据库等本地API的绕过HTTP,在.NET和IIS

不过,现在我需要多个Web应用程序访问此相同的数据。首先想到的是在此之上添加一个web api,并通过api访问其他应用程序。这应该比每个应用程序保持在RAM中加载相同的10兆数据更好。

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

回答

0

你可以看看像AppFabric的或可能的文档或键/值数据库。我已经使用这两个为各种客户端访问相同的信息,取得了巨大的成功。

2

如果使用WCF与在同一台机器上的进程之间的通信进行了优化的运输(如命名管道绑定),你将有一个网络的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用于TCP)