Spargine 10 (v2026.10.7.1), released on July 1, 2026, introduces NuGet packages for .NET 10, featuring new types, methods, and performance enhancements. The update allows for trimmable libraries, reducing application sizes and improving startup times. Community contributions are encouraged, and detailed benchmarks are available on GitHub.
Author: David (dotNetDave) McCarter
Simplify Directory File Operations in .NET with Spargine’s DirectoryInfoExtensions
The HttpRequestExtensions class in DotNetTips.Spargine.Extensions offers reusable methods to streamline HTTP request handling, enhancing code maintainability and consistency. Key functions include reading request bodies, managing headers, extracting bearer tokens, and validating content types. This utility supports input validation and unit testing, improving code quality in applications.
HttpClient Keep-Alive: Why Disabling Connection Reuse Can Destroy Performance
Disabling keep-alive in HttpClient can severely degrade application performance, as it prevents connection reuse. While it may be justified in rare cases, such as for legacy systems or troubleshooting, most reasons are misguided. Instead, maintain keep-alive for efficiency and configure PooledConnectionLifetime to manage connections effectively.
dotNetDave Rocks Codemotion Milan 2026
dotNetDave's No Rest for the Wicked World Tour will arrive in Milan for Codemotion Milan 2026 on October 28th-29th. This marks his first speaking engagement in Italy, where he will present "Unleash Your Inner Rockstar: The 5 Steps to Dynamic Public Speaking!" Join to enhance your public speaking skills and career.
dotNetDave Rocks .NET Developer Days 2026 Warsaw
David McCarter, also known as dotNetDave, will speak at .NET Developer Days 2026 in Warsaw on October 20-21. His sessions focus on performance benchmarking using BenchmarkDotNet and software engineering principles likened to rock music. Attendees will gain insights on effective code measurement, testing, and embracing engineering judgment.
GitHub Copilot and .NET Performance: Benchmark Every Optimization
GitHub Copilot offers optimization suggestions but testing their effectiveness requires careful engineering. While some improvements may seem beneficial, they can complicate code or slow performance. After reviewing various implementations, only a few suggestions showed meaningful gains. Developers must benchmark thoroughly to determine the real impact before adopting AI-generated code.
Boost Your .NET Projects with Spargine: Monitor and Log HTTP Traffic
Logging is crucial for app monitoring, extending beyond exceptions to include diagnostic events like request timing and connection details. Spargine offers three HTTP listeners—HttpEventListener, HttpEventListenerAsyncLocal, and HttpRequestsObserver—each providing various levels of detail to help troubleshoot performance issues and improve logging for .NET applications.
Task vs. ValueTask: Reducing Async Allocations and Boosting Performance
When writing asynchronous methods, consider returning ValueTask instead of Task for performance-sensitive scenarios, especially when methods frequently complete synchronously. ValueTask can improve speed and reduce memory allocation, but it comes with usage restrictions. Use Task as a default while applying ValueTask selectively after proper testing.
Boost Your .NET Projects with Spargine: Safer and Simpler Async Code with TaskExtensions
The TaskExtensions class in DotNetTips.Spargine.Extensions simplifies asynchronous programming in .NET by offering concise methods for managing common tasks like fire-and-forget operations, exception handling, and timeouts. These extensions enhance code clarity and reduce repetitive patterns, allowing developers to handle background tasks and errors more effectively while maintaining readability.
.NET Object Pooling: Reducing Allocation Costs and GC Pressure
Object pooling can reduce allocations, lower GC pressure, and improve .NET performance—but only when used for the right workloads. In my latest subscriber article, I compare custom object pools with DefaultObjectPool and explain when pooling makes sense.

You must be logged in to post a comment.