NCache is an in-memory .NET distributed cache and has been developed with C#. Therefore, unlike some other Java based distributed caches that only provide a .NET client API, NCache is a 100% native .NET product that fits very nicely in your .NET application environments.
You can use NCache as a .NET distributed cache from any .NET application including ASP.NET, WCF and .NET web services, .NET grid computing applications, and any other server-type .NET applications with high transactions. So, whether you're making client-side API calls to NCache as your .NET distributed cache or developing server-side code for Read-thru/Write-thru, rest assured that you will always be in native .NET environment.
NCache allows you to store your ASP.NET Session State in an extremely fast in-memory .NET distributed cache with intelligent replication. And, you can do that without making any code changes to your application.
This is a much better option than storing your ASP.NET Session State in StateServer or SqlServer provided by ASP.NET. NCache is faster and more scalable .NET distributed cache than these options. And, NCache replicates your sessions to multiple cache servers so there is no loss of session data in case any server goes down.
NCache caches the ASP.NET View State at the server-side and returns a unique ID in place of it to the browser. And, this reduces the payload and improves performance.
ADO.NET Entity Framework is rapidly becoming very popular because it greatly simplifies database programming. NCache provides a way for you to easily incorporate caching into Entity Framework and boost performance and scalability of your .NET applications through a .NET distributed cache.
Entity Framework has implemented a stackable provider model for leading databases. NCache has developed a .NET distributed cache provider called EF Caching Provider that plugs in-between Entity Framework and the original database provider and intercepts all calls and caches query responses.
This means you can start caching application data in a .NET distributed cache without any code changes to your Entity Framework based application.
NHibernate is a leading open source Object Relational Mapping (ORM) solution and simplifies database programming for .NET applications. NHibernate provides a local InProc cache that cannot be used in a multi-server environment.
Therefore, NCache provides an extremely fast and highly scalable level-2 .NET distributed cache for NHibernate. This allows applications using NHibernate to now scale to multi-server environments and also remove any database bottlenecks.
You can incorporate NCache as your .NET distributed cache into your applications without any code changes You only change your configuration file to use NCache.
.NET 4.0 now has a System.Runtime.Caching namespace. The classes in this namespace provide a way to use caching facilities like those in ASP.NET, but without a dependency on the System.Web assembly. And, most importantly, this caching is extensible.
Therefore, NCache has developed a provider for .NET 4.0 Cache that results in an extremely fast and highly scalable .NET distributed cache. This allows applications using .NET 4.0 Cache to now scale to multi-server environments and also remove any database bottlenecks.
You can incorporate NCache as your .NET distributed cache without any code changes to your application. You only change your configuration file to use NCache.