Configuration Differences Between AppFabric and NCache
Companies are looking for substitutes and upgrades for AppFabric since Microsoft discontinued it. NCache provides more control over the caching content than AppFabric.
First of all, NCache and AppFabric configurations are entirely different. AppFabric takes the cache configuration at runtime, whereas NCache requires configuration before the application runs. The following table shows all the configuration classes used to configure AppFabric, which aren't necessary for NCache.
AppFabric Configuration Classes
AppFabric Configuration class | Description |
---|---|
Microsoft.ApplicationServer.Caching.BaseOperationNotification |
This class serves the same purpose as in the native AppFabric Caching API. |
Microsoft.ApplicationServer.Caching.DataCacheBulkNotificationCallBack |
This class specifies a callback called with a list of cache operations. |
Microsoft.ApplicationServer.Caching.DataCacheClientLogManager |
This class only exists for compatibility. You can enable cache client logs in NCache with different log levels by setting the required configuration values in the client.ncconf file. |
Microsoft.ApplicationServer.Caching.DataCacheErrorCode |
This class serves the same purpose as in the native AppFabric Caching API. |
Microsoft.ApplicationServer.Caching.DataCacheException |
This class returns its instances as exceptions in case of cache-related operations. The NCache exceptions related to cache operations exist as inner exceptions. |
Microsoft.ApplicationServer.Caching.DataCacheFailureNotificationCallBack |
This class only exists for compatibility purposes. NCache does not support failure notification. |
Microsoft.ApplicationServer.Caching.DataCacheItem |
This class helps create instances that group the cached object value with its metadata, including region, timeout, tags, and version. These values are populated when the call returns the NCache CacheItem instances. |
Microsoft.ApplicationServer.Caching.DataCacheItemVersion |
This class represents the version of the cached object for the Optimistic Concurrency strategy in the same way as in the native AppFabric API. |
Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint |
This class provides server information when programmatically configuring cache server information of a named cache. |
Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration |
This class only uses the Servers , RequestTimeout , and ChannelOpenTimeout properties to programmatically configure a named cache's server information. All other properties are only for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy |
This class only exists for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties |
This class only exists for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLockHandle |
This class uses a Pessimistic Concurrency strategy like with native AppFabric API and internally uses NCache's Locking functionality. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationCallBack |
It represents a callback method that is to be invoked by a cache notification when one or more cache operations take place. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor |
This class is an identifier parameter to a DataCacheNotificationCallBack and DataCacheBulkNotificationCallBack delegate. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties |
This class only exists for compatibility purposes. You can configure notification properties through NCache management tools. |
Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor |
This class serves the same purpose as in the native AppFabric API. |
Microsoft.ApplicationServer.Caching.DataCacheOperations |
This class serves the same purpose as in the native AppFabric API. |
Microsoft.ApplicationServer.Caching.DataCacheFactory |
This class creates names and default cache handles for CRUD operations. |
Microsoft.ApplicationServer.Caching.DataCache |
This class is for object caching CRUD operations despite appearing as an AppFabric configuration, it actually uses NCache cache handles. |
Microsoft.ApplicationServer.Caching.DataCacheSecurity |
This class only exists for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheSecurityMode |
This class only exists for compatibility purposes. NCache security features are enabled using NCache management tools. |
Microsoft.ApplicationServer.Caching.DataCacheTag |
This class helps add tags' metadata to cached objects for tag-based search and retrieval. |
Microsoft.ApplicationServer.Caching.DataCacheTransportProperties |
This class only exists for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel |
This class only exists for compatibility purposes. NCache security features are enabled using NCache management tools. |
The next section provides a step-by-step guide to migrating from an AppFabric application to NCache using the AppFabric Wrapper.
See Also
.NET: Alachisoft.NCache.Client namespace.
Java: com.alachisoft.ncache.client namespace.
Node.js: Cache class.
Python: ncache.client class.