GroupDocs.Viewer.UI.Api.Local.Cache
8.1.1
dotnet add package GroupDocs.Viewer.UI.Api.Local.Cache --version 8.1.1
NuGet\Install-Package GroupDocs.Viewer.UI.Api.Local.Cache -Version 8.1.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GroupDocs.Viewer.UI.Api.Local.Cache" Version="8.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GroupDocs.Viewer.UI.Api.Local.Cache" Version="8.1.1" />
<PackageReference Include="GroupDocs.Viewer.UI.Api.Local.Cache" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GroupDocs.Viewer.UI.Api.Local.Cache --version 8.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: GroupDocs.Viewer.UI.Api.Local.Cache, 8.1.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GroupDocs.Viewer.UI.Api.Local.Cache@8.1.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GroupDocs.Viewer.UI.Api.Local.Cache&version=8.1.1
#tool nuget:?package=GroupDocs.Viewer.UI.Api.Local.Cache&version=8.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GroupDocs.Viewer.UI.Api.Local.Cache
GroupDocs.Viewer.UI.Api.Local.Cache
is a local file system caching implementation that can be used with GroupDocs.Viewer.UI.Api
. It provides persistent caching for document rendering results in your GroupDocs.Viewer.UI
application.
Installation
To use Local Cache in your ASP.NET Core project:
- Add the required package to your project:
dotnet add package GroupDocs.Viewer.UI.Api.Local.Cache
- Configure Local Cache in your
Startup
class:
var builder = WebApplication.CreateBuilder(args);
builder.Services
.AddGroupDocsViewerUI();
builder.Services
.AddControllers()
.AddGroupDocsViewerSelfHostApi()
.AddLocalStorage("./Files")
.AddLocalCache("./Cache"); // Path to your cache directory
var app = builder.Build();
app
.UseRouting()
.UseEndpoints(endpoints =>
{
endpoints.MapGroupDocsViewerUI(options =>
{
options.UIPath = "/viewer";
options.ApiEndpoint = "/viewer-api";
});
endpoints.MapGroupDocsViewerApi(options =>
{
options.ApiPath = "/viewer-api";
});
});
await app.RunAsync();
Configuration Options
The Local Cache implementation requires a single configuration option:
cachePath
(Required): The path to the directory where cache files will be stored. This can be:- An absolute path (e.g.,
"C:/Cache"
) - A relative path (e.g.,
"./Cache"
) - A path relative to the application's root directory
- An absolute path (e.g.,
Technical Implementation
The Local Cache implementation stores cached data in the local file system. Here's how it works:
Cache Structure
- Cache entries are stored in a hierarchical directory structure
- Each file's cache entries are stored in a separate subdirectory
- Subdirectory names are derived from the file path (with invalid characters replaced)
- Cache entries are stored as individual files within these subdirectories
Data Serialization
- Uses
System.Text.Json
for JSON serialization - Automatically detects the data type and uses appropriate serialization method
File Operations
- Implements file locking mechanism for thread safety
- Uses retry logic with configurable timeout for file operations
- Default wait timeout is 100ms for file operations
- Handles concurrent access through file sharing modes
Cache Key Management
- Cache keys are used as filenames within the cache directory
- File paths are sanitized to create valid directory names
- Maintains a clean directory structure for easy management
Features
- Seamless integration with GroupDocs.Viewer UI
- Persistent caching across application restarts
- Thread-safe file operations
- Automatic retry mechanism for file access
- Support for different data types (bytes, streams, objects)
- Efficient file system organization
- No external dependencies required
Performance Considerations
When using Local Cache:
- Cache size is limited by available disk space
- Cache persists between application restarts
- Best suited for:
- Applications requiring persistent caching
- Environments with sufficient disk space
- Scenarios where memory caching is not suitable
- Performance depends on:
- Disk I/O speed
- File system performance
- Available disk space
Security Considerations
When using Local Cache:
- Ensure the cache directory is not accessible directly through the web server
- Set appropriate file system permissions
- Consider implementing additional security measures if caching sensitive data
- Regularly monitor cache directory size
- Implement cache cleanup strategy if needed
License
This project is licensed under the MIT License - see the LICENSE.txt file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- GroupDocs.Viewer.UI.Core (>= 8.1.1)
-
net8.0
- GroupDocs.Viewer.UI.Core (>= 8.1.1)
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
8.1.1 | 0 | 9/21/2025 |
8.0.7 | 0 | 5/23/2025 |
8.0.6 | 0 | 5/5/2025 |
8.0.5 | 0 | 4/23/2025 |
8.0.4 | 0 | 4/22/2025 |
8.0.3 | 0 | 4/4/2025 |
8.0.2 | 0 | 2/6/2025 |
8.0.1 | 2 | 12/20/2024 |
8.0.0 | 3 | 12/13/2024 |
6.0.5 | 0 | 12/19/2024 |
6.0.4 | 0 | 9/30/2024 |
6.0.3 | 1 | 6/11/2024 |
6.0.2 | 2 | 6/29/2023 |
6.0.1 | 2 | 6/28/2023 |
6.0.0 | 3 | 7/23/2022 |
3.1.3 | 4 | 11/18/2021 |
3.1.2 | 3 | 9/19/2021 |
3.1.0 | 5 | 7/9/2021 |