MarkCiliaVincenti
NuGet publisher profile
Packages (12)
AsyncKeyedLock
An asynchronous .NET library that allows you to lock based on a key (keyed semaphores), limiting concurrent threads sharing the same key to a specified number, with optional pooling for reducing memory allocations.
Backport.System.Threading.Lock
A micro-library that backports/polyfills .NET 9.0+'s System.Threading.Lock to prior framework versions (from .NET Framework 3.5 up to .NET 8.0), providing as much backward compatibility as possible. Optionally works as a source generator.
DeterministicGuids
A small, allocation-conscious, thread-safe .NET utility for generating name-based deterministic UUIDs (a.k.a. GUIDs) using RFC 9562 v3 (MD5), v5 (SHA-1) and v8 (SHA-256).
OpenWeatherMap.Cache
An asynchronous .NET library that allows you to fetch & cache current weather readings from the OpenWeather API, with built-in resiliency that can extend the cache lifetime in case the API is unreachable.
TlsCertificateLoader
A .NET library for loading of TLS/SSL (HTTPS) certificates for .NET 6.0+ Kestrel web applications, allowing for refreshing of certificates as well as compatibility with HTTP/3. Includes optional middleware for using certificates obtained by Certbot.
ThreadSafeRandomizer
An efficient thread-safe randomizer that can optionally be used as a source generator.
ListShuffle
Thread-safe list shuffle extension library, using Fisher-Yates shuffle and optional cryptographically-strong random.
ResilientSaveChanges.EFCore
A library that allows resilient context.SaveChanges / SaveChangesAsync in Entity Framework Core, logging of long-running transactions and limiting of concurrent SaveChanges.
NetworkPorts
Constants for commonly-used network ports.
SemaphoreSlimThrottling
A .NET library that provides a class that uses SemaphoreSlim but allows a negative initialCount. This could be used, for example, when starting to throttle requests but initially already have more concurrent requests than the maximum you want to start allowing.
ReadHeavyCollections
A dictionary and a set that offer very fast read speed in expense of slow write speed. Ideal in situations where the collection is infrequently updated but is very often read from.
FrameworkCompatibleVersions
An MSBuild Project SDK that applies target-framework-aware floating NuGet versions to consumer-selected PackageVersion and PackageReference items.