The fastest, most accurate tools. Deployed by millions.
Request.Browser properties will be populated with data from 51Degrees Lite Device Data. Other features
include automatic image optimisation, monitoring of network conditions and client side feature detection.
See the version list below for details.
Install-Package 51Degrees.mobi-WebMatrix -Version 22.214.171.124
dotnet add package 51Degrees.mobi-WebMatrix --version 126.96.36.199
<PackageReference Include="51Degrees.mobi-WebMatrix" Version="188.8.131.52" />
paket add 51Degrees.mobi-WebMatrix --version 184.108.40.206
Version 3.2.4 Highlights
This release focuses on reducing memory consumption and improving performance when the device data file is used directly from the disk.
* 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.
* 51Degrees unit tests are now part of the open source distribution.
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 from 3.2.3 --
1. Changed the MobileCapabilitiesProvider to continue to support .NET Adapters and Browsers.
2. Matches using multiple headers will return the sum of all difference for each header, not just the last one that was used.
3. Removed redundant properties and some working properties and fields made internal.
4. Nodes with the same number of ranked signatures are now also ordered on their position within the User-Agent to ensure consistency with Java and C APIs.
-- Changes from 3.2.2 --
1. Automatic download requests version 3.2 data file format.
2. The active provider will not be initialised when data sharing is enabled.
-- Changes from 3.2.1 --
1. TrieProvider now support V3.2 data file format which includes embedded HTTP headers in the properties data array.
2. TrieProvider supports NameValueCollection of HTTP headers rather than a single user agent string. An collection of device indexes is returned for each of the relevant headers. The collection can be used with new GetPropertyValue methods to return the property value from the most relevant HTTP header.
3. If a file is used with the StreamFactory it will only be deleted if the IsTemporary parameter is set to true. Previously the extension of the file was used to determine if the file was temporary and eligible for deletion.
4. Stream DataSet now exposes information related to the number of readers created and queued in the underlying Pool.
5. Detector module no longer listens for PostAuthorizeRequest if image optimisation is disabled.
6. Changing device detection or image optimisation enabled states will change web.config modules collection to ensure configured to listen for all requests, not just managed code.
7. Changed image optimiser process to reduce memory consumption slightly, and ensure resized image is smaller than the original.
-- Changes from 3.1.13 --
1. 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.
2. A potential threading problem has been resolved in Profile entity by only referencing the property PropertyIndexToValues rather than its backed private field.
3. Cache service method thread start is now synchronised.
4. 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.
5. Changed the Cache classes AddRecent and ServiceCache methods to prevent multiple service operations in multiple threads.
6. Added a ResetCache method to the dataset.
7. WebProvider in memory mode now uses a byte array in memory rather than constructing all instances of every entity. This reduces start up time.
8. Unit tests have been added for performance, memory and major data error checks.
9. V3.2 data format is now supported.
- Microsoft.Web.Infrastructure (>= 1.0.0)
This package is not used by any popular GitHub repositories.