Are 开发者_运维知识库there any existing libraries/frameworks/products for a distributed shared memory system implemented in .NET, or easily accessible from .NET clients?
Googling gives some links to academic papers, but I couldn't find any real implementations.
Note: I am most interested in something that runs on a LAN, not in "cloud".
Maybe AppFabric aka Velocity?
A new Microsoft project, code-named Velocity, provides a distributed, in-memory cache. Velocity enables you to create scalable, available, high-performance applications by exposing a unified view of distributed memory for client application consumption.
There are many products that support .net c# client but are written in java language. i would advice you to check Oracle Coherence, VMware Gemfire and Gigaspaces XAP. they have have a .net clients. Gigaspaces also offer a combination of application server messaging and data grid all running on .net.
Oracle Coherence supports .NET clients via a number of APIs & technologies:
- IIS session management support
- REST APIs for data access
- .NET memcache client support
- .NET native (C#) Coherence API
It also supports native Java and native C++. Via the REST and memcache protocol support, it covers basically every platform & language.
Regarding "shared memory", Coherence has applications in production with 25+TB of "shared memory" data.
For the sake of full disclosure, I work at Oracle. The opinions and views expressed in this post are my own, and do not necessarily reflect the opinions or views of my employer.
精彩评论