The CssMemoryCaching_Extention component provides a thread-safe, in-memory caching mechanism designed to store and retrieve key-value string pairs efficiently within OutSystems applications. This component enhances application performance by minimizing repeated expensive operations like database or API calls, using a high-performance concurrent dictionary for safe multi-thread access.
CssMemoryCaching_Extention
Thread-safe in-memory cache using ConcurrentDictionary<string, string>
ConcurrentDictionary<string, string>
Add or update cache entries with MssAddToMemory
MssAddToMemory
Retrieve cached values with MssGetFromMemory
MssGetFromMemory
Check existence of keys with MssExistsInMemory
MssExistsInMemory
Clear entire cache with MssClearMemory
MssClearMemory
Enumerate all cached entries with MssGetMemoryContent
MssGetMemoryContent
Implements the interface IssMemoryCaching_Extention for seamless integration with OutSystems extensions.
IssMemoryCaching_Extention
Uses .NET's ConcurrentDictionary for high-concurrency scenarios.
ConcurrentDictionary
Supports only string keys and values.
Designed for transient caching — data is lost when the application restarts.
Exception-safe methods with graceful failure handling to avoid impact on app stability.
Add the component to your OutSystems environment via Forge or your custom extensions folder.
Invoke caching methods from your OutSystems logic or server actions:
Add/Update cache:
Get value by key:
Check if key exists:
Just Send Key and Will Back With True or False
Clear cache:
Retrieve all cache content:
Use cache carefully for data that can be recomputed or refetched, as this cache does not support persistence or expiration.
Compatible with .NET Standard 2.0+ environments
Tested on OutSystems Platform 11 and 12
Cache entries are lost on application recycle or server restart.
No built-in expiration or size limit — consider extending the component for production use.
Only supports string keys and values.
No distributed caching support — suitable for single-instance or session caching only.
Ensure sensitive data is not cached in plain text.
Validate keys and values before caching to avoid injection attacks.
Exception handling prevents crashes but consider logging errors for diagnostics.
For questions, bug reports, or feature requests, please contact:
Author: Kerollos Adel
Email: Eng_KerollosAdel@hotmail.com