Version 3.2.2 Highlights
The design focus of the release is to reduce memory consumption when the data file used directly from the disk, and to improve performance.
- Embedded data has been removed from the assembly and now must be provided from the App_Data folder.
- .NET 3.5 is not supported in this release in order to use memory mapped files and simplify overriding default browser capabilities.
- In stream mode entity data properties that can allocate large arrays only initialise these arrays when needed.
- Caches used with stream operation are now fixed memory size and serviced via the thread pool.
- Automatic update processes uses temporary files rather than main memory to verify integrity of updated files prior to using them.
- Temporary files are now created in the App_Data/51Degrees folder of the web application rather than a UNC path or the master data file folder.
- Values associated with Profiles are now retrieved using a more efficient algorithm.
- DataSet.Properties collection now has a string accesser to make retrieving properties by name simpler.
- Web sites using memory mode use a byte array to improve start up time.
- Version 3.2 data file formats are supported in parallel with version 3.1 data files.
- Import Change: The embedded device data has been removed from the assembly and by default placed in the App_Data folder if used with a web site. The solution will not work without the associated data file being provided and the WebProvider.ActiveProvider property can now return null.
Changes in version 22.214.171.124
- The entity RankedSignatureIndex has been renamed to IntegerEntity along with the associated factories. This is so that the entity can be reused in the new lists for Nodes related to Signatures and Signatures related to Nodes where each list also contains 4 byte integer data types.
- A potential threading problem has been resolved in Profile entity by only referencing the property PropertyIndexToValues rather than its backed private field.
- Cache service method thread start is now synchronised.
- Memory/Profile.cs Init() method has been removed as the ValueIndexes and SignatureIndexes arrays are needed to support other methods and don’t need to be freed.
- Changed the Cache classes AddRecent and ServiceCache methods to prevent multiple service operations in multiple threads.
- Added a ResetCache method to the dataset.
- WebProvider in memory mode now uses a byte array in memory rather than constructing all instances of every entity. This reduces start up time.
- Unit tests have been added for performance, memory and major data error checks.
- V3.2 data format is now supported.