Configuration Differences Between AppFabric and NCache
AppFabric has been discontinued by Microsoft, hence, companies are looking for solutions that may be a substitute or an upgrade over AppFabric. NCache provides more control over the caching content than AppFabric.
First of all, NCache configuration and AppFabric configuration is completely different. AppFabric takes the cache configuration at runtime whereas NCache is configured before the application is run. The following table shows all the configuration classes that are used to configure AppFabric which will NOT be required for NCache.
AppFabric Configuration class | Description |
---|---|
Microsoft.ApplicationServer.Caching.BaseOperationNotification |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheBulkNotificationCallBack |
This is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheClientLogManager |
This class is only defined for compatibility. Cache client logs in NCache can be enabled with different log levels by setting the required configuration values in the client.ncconf file. |
Microsoft.ApplicationServer.Caching.DataCacheErrorCode |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheException |
Instances of this class are returned as exceptions in case of cache-related operations. |
Microsoft.ApplicationServer.Caching.DataCacheFailureNotificationCallBack |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheItem |
This class is used to create instances that group the cached object value together with its metadata including region, timeout, tags, and version. |
Microsoft.ApplicationServer.Caching.DataCacheItemVersion |
This represents the version of the cached object and is also used for Optimistic Concurrency strategy. |
Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint |
This class is used to provide server information when programmatically configuring cache server information of a named cache. |
Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration |
Only the Servers property of this class is used for programmatically configuring a named cache's server information. All other properties are only for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheLockHandle |
This class uses Pessimistic Concurrency strategy and internally uses NCache locking functionality. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationCallBack |
This class is used for cache, region, and item-level callbacks. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor |
This class is used as an identifier parameter to a DataCacheNotificationCallBack delegate. |
Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor |
This class is only used for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheOperations |
This class is defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheFactory |
This class is used to create names and default cache handles to be used for CRUD operations. |
Microsoft.ApplicationServer.Caching.DataCache |
This class is used for object caching CRUD operations. It uses an NCache cache handle behind the scenes. |
Microsoft.ApplicationServer.Caching.DataCacheSecurity |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheSecurityMode |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheTag |
This class can be used to add tags' metadata to cached objects for tag-based search and retrieval. |
Microsoft.ApplicationServer.Caching.DataCacheTransportProperties |
This class is only defined for compatibility purposes. |
Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel |
This class is only defined for compatibility purposes. |
The next section provides a step-by-step guide to migrate an AppFabric application to NCache using the AppFabric Wrapper.
See Also
Migrating AppFabric Application to NCache
.NET API Reference for NCache