.net

Pub/Sub with Redis

Redis has pub/sub functionality in addition to being a key/value database


Read more...


Complex Pattern Matching

Pattern matching can contain IS, NOT, AND and OR keywords for more complex statements


Read more...


Modifying configuration on load

How configuration can be modified on load but still leverage the Options pattern


Read more...


OS information via Runtime.InteropServices

Levering Runtime.InteropServices to execute OS specific functionality


Read more...


HashiCorp Vault with C#

A step by step guide to integrating into HashiCorp vault with C#


Read more...


Accurate, regular scheduling with PeriodicTimer

Using PeriodicTimer to build an accurate, reliable background service


Read more...


String null or empty using pattern matching

Leveraging pattern matching instead of string.IsNullOrEmpty - with performance benchmarks!


Read more...


Windows services with .NET Core

Configuring a background service to run as a Windows Service


Read more...


Dynamically changing minimal api return type

Changing minimal api return content types dynamically (including to xml)


Read more...


String interpolation with alignment

String interpolation provides a mechanism to align (and pad) interpolated values


Read more...


c# (255) .net (255) entityframework (20) ef (17) attribute (13) .net7 (12) sql (10) array (9) performance (9) string (9) roslyn (8) efcore (8) visualstudio (8) dictionary (7) task (7) linq (7) exception (6) list (6) api (6) entity framework (6) tuple (5) constructor (5) enum (5) iteration (5) DI (5) dependencyinjection (5) switch (5) minimalapi (5) ienumerable (5) codefix (5) code fix (5) analyser (5) analyzer (5) guide (5) analyzer-series (5) sourcegenerator (4) async (4) lambda (4) cache (4) lazy (4) interpolation (4) json (4) property (4) C#11 (4) configuration (4) indexer (4) anonymous (4) interface (3) await (3) foreach (3) endpoint (3) collection (3) operator (3) middleware (3) filter (3) flags (3) parallel (3) entityframeworkcore (3) func (3) .net6 (3) efcore6 (3) logging (3) generics (2) delay (2) count (2) length (2) generic (2) conversion (2) cancellation (2) null (2) controller (2) attributes (2) .net8 (2) http (2) query (2) unsafe (2) loop (2) groupby (2) context (2) dynamic (2) distributed (2) datetime (2) delete (2) select (2) init (2) initialization (2) local (2) implicit (2) index (2) new (2) separator (2) jagged (2) querystring (2) pooling (2) sort (2) readonly (2) parameters (2) bulk (2) literals (2) minimal (2) sqlserver (2) nameof (2) disposable (2) idisposable (2) global (2) parameter (2) patternmatching (2) schedule (2) contenttype (2) unittest (2) dbcontext (2) vs (2) database (2) tsql (2) guid (2) action (2) debugging (2) enumeration (2) static (2) goto (2) private (2) concurrentdictionary (2) lock (2) function (2) with (2) syntax (2) methods (2) invoke (2) injection (2) dependency (2) generator (2) extend (2) using (2) github (2) toolkit (1) sourcegeneratortoolkit (1) extensionmethod (1) extension (1) wrapup (1) unmapped (1) arraypool (1) expressionbody (1) comparer (1) ignorecase (1) methodgroup (1) accuracy (1) any (1) all (1) elide (1) name (1) linkgenerator (1) iparseable (1) bind (1) sql2022 (1) distinct (1) mvc (1) startup (1) distinctby (1) stopwatch (1) benchmark (1) converter (1) helpers (1) convention (1) holliday (1) break (1) frozen (1) httpmethod (1) tag (1) ef7 (1) unreachable (1) bytes (1) memory (1) allocated (1) parseable (1) warning (1) compiler (1) featureflag (1) short (1) nullcoalescing (1) associativity (1) preview (1) distributedcache (1) months (1) convert (1) localfunction (1) pattern (1) builder (1) compare (1) comparison (1) add (1) addrange (1) localization (1) targettype (1) capacity (1) record (1) primitive (1) path (1) coalesce (1) lookup (1) tolookup (1) swagger (1) xml (1) documentation (1) filemodifier (1) dataprotector (1) protect (1) math (1) headers (1) binding (1) deserialization (1) utf8jsonreader (1) memorycache (1) statistics (1) newtonsoft (1) jsonconvert (1) datetimeoffset (1) object (1) objectpool (1) httpstatus (1) statuscode (1) type (1) format (1) app (1) run (1) map (1) server (1) addresses (1) features (1) token (1) aot (1) aheadoftime (1) typed (1) stronglytyped (1) expando (1) propertychanged (1) update (1) startupfilter (1) istartupfilter (1) commandline (1) mapping (1) switchmappping (1) taskcompletionsource (1) handler (1) C11 (1) stringliterals (1) lifetime (1) applicationlifetime (1) yield (1) iasyncenumerble (1) struct (1) defaults (1) correlation (1) activity (1) default (1) waitfor (1) formatting (1) outputcache (1) ping (1) ratelimiter (1) ratelimiting (1) iqueryable (1) namespace (1) out (1) delimit (1) arraysegment (1) routehandler (1) virtual (1) polymorphism (1) cast (1) typeof (1) bit (1) enumerable (1) redis (1) messaging (1) pubsub (1) keywords (1) options (1) create (1) interop (1) os (1) over (1) blog (1) hashicorp (1) vault (1) beginner (1) timer (1) interval (1) alignment (1) activatorutilities (1) in (1) modifier (1) deconstruct (1) host (1) required (1) iconfiguration (1) wildcard (1) equality (1) equals (1) testing (1) protected (1) maybenullwhen (1) initializer (1) lowing (1) forloop (1) typeconversion (1) debug (1) config (1) pagination (1) keyset (1) for (1) css (1) html (1) destruct (1) currying (1) layout (1) expandobject (1) tryaddenumerable (1) binary (1) hexadecimal (1) newid (1) nullable (1) chaining (1) xmlcomments (1) collections (1) insert (1) aspnetcore (1) route (1) first (1) single (1) merge (1) snippet (1) temporary (1) files (1) inference (1) integers (1) biginteger (1) selection (1) checked (1) unchecked (1) overflow (1) deterministic (1) directives (1) breakpoint (1) exceptiondispatchinfo (1) failfast (1) finally (1) sealed (1) throw (1) expressions (1) queryfilter (1) interning (1) linebreak (1) coalescing (1) main (1) execution (1) accessing (1) partitioner (1) listpattern (1) slicepattern (1) thread (1) readerwriter (1) atomic (1) interlocked (1) linkedlist (1) conditional (1) numeric (1) check (1) is (1) covariance (1) contravariance (1) offset (1) fetch (1) closure (1) method (1) underscore (1) validity (1) expression (1) switchexpression (1) ducktyping (1) loading (1) debugger (1) display (1) debuggerdisplay (1) tostring (1) delegate (1) incremental (1) incrementalgenerator (1) getenumerator (1) optional (1) system.text.json (1) notifications (1) column (1) order (1) columnorder (1) interceptor (1) interceptors (1) entitytypeconfiguration (1) gc (1) garbagecollection (1) garbage (1) wait (1) directive (1) when (1) metadata (1) call stack (1) channel (1) queue (1) producer (1) consumer (1) deploy (1) scheduler (1) cron (1) valuetuple (1) dailydrop (1) ioptions (1) ioptionssnapshot (1) ioptionsmonitor (1) optionspattern (1) records (1) ILogger (1) structuredlogging (1) serilog (1) structured (1) logger (1) git (1) gitflow (1) githubflow (1) workflow (1) azuredevops (1) nuget (1) devops (1) package (1) symbol (1) symbolserver (1) sourcelink (1) dbset (1) dependency injection (1) rollcall (1) transient (1) singleton (1) scoped (1) multiple implementation (1) implementation (1) multiple (1) ide (1) productivity (1)