Skip to main content

Wednesday, February 25, 2026

Mastering Industrial Camera Integration: C# + VisionPro Real-Time Acquisition Deep-Dive

JIN walks through building a production-ready C# integration with Cognex VisionPro for real-time industrial camera acquisition, from device enumeration and connections to single-shot and continuous preview. In this post you pick up pragmatic patterns for safe resource disposal and troubleshooting the classics like 'connected but no frames' and memory leaks so your capture pipeline runs 24/7 without drama.

Reliably Refreshing the WebView2 Control

Rick Strahl explains why WebView2.Reload can leave previews stale and shows how to force a true hard refresh in C#, so images and other dependent resources actually update. In this post he compares a simple URL reset, Profile.ClearBrowsingDataAsync, and a DevTools cache clear, with practical notes for WPF and WinForms and when to use each.

Collection Performance: High-Performance Collection Randomization in .NET

Randomizing large collections without tanking throughput is trickier than it looks, and dotnettips digs into what actually makes a shuffle fast in .NET. This post compares popular techniques with cache friendly in-place algorithms, explains how Random usage and allocations impact scalability, and shares practical snippets you can drop into arrays and lists.

EF Core State Validation

Ricardo Peres tackles those mysterious SaveChanges exceptions by validating EF Core state ahead of time with ChangeTracker metadata, surfacing friendly ValidationResult messages for required and max length issues. This post then shows three practical ways to bring full Data Annotations validation into EF Core using a SaveChanges override, a SaveChangesInterceptor, or the SavingChanges event so you can pick the least intrusive option for your app.

ACID in Practice for .NET: Isolation Levels, Anomalies, and Transaction Pitfalls

Sudhir Mangla untangles why isolation levels, not just transactions, decide whether your .NET app hits lost updates, phantoms, or deadlocks, especially when RCSI and Snapshot shift behavior in Azure SQL and RDS. This post delivers battle-tested EF Core patterns like RowVersion concurrency, savepoints, targeted UPDLOCK usage, plus outbox and idempotency with Polly retries to keep your data sane under load.

Local Embeddings in .NET — The Easy Way

El Bruno introduces ElBruno.LocalEmbeddings, a lightweight NuGet package that generates embeddings locally in .NET with a few lines of C#, perfect for tinkering with Foundry Local or Ollama. This post walks through single and batch generation and cosine similarity to help you prototype semantic search and RAG fast without spinning up cloud vector infrastructure.

Don't miss the next tip 💧

Get a .NET tip and curated links delivered to your inbox every week.

How to Implement Abstract Factory Pattern in C#: Step-by-Step Guide

Nick Cosentino lays out a step-by-step path to implementing the Abstract Factory pattern in C#, complete with runnable examples that go from interfaces to concrete factories and client code. In this post you will learn how to keep related object families consistent, plug factories into DI, dodge common gotchas, and add new variants without sprinkling conditionals everywhere.

C# 14 in .NET 10: language features that actually matter in production

C# 14 is not about syntactic novelty. It is about reducing friction in patterns teams already use: extensions, domain modeling, source generation, and performance-sensitive code.. Anderson Godoy walks us through the changes that will stand out the most.

Microsoft .NET Code Analysis: Efficient String Prefix Checks — StartsWith() vs.IndexOf()

dotNetDave digs into .NET code analysis rule CA1858 to show why StartsWith is the right tool for string prefix checks compared to IndexOf, covering performance, clarity, and culture-safe comparisons. This post explains when to use StringComparison, what the analyzer is nudging you toward, and how a tiny change can trim allocations in hot paths.

Aspire App Lifecycle Guide

Microsoft's Aspire lifecycle guide walks through inner-loop development with aspire run, local deployment with aspire deploy, and CI/CD publishing via GitHub Actions, all using a single AppHost to keep environments consistent. In this post you follow a Blazor and SQL Server example with persistent volumes and generated Docker Compose artifacts that make it easier to move from local debugging to production-ready containers.

Everyone Tunes C#.NET APIs Wrong

Ashok Reddy shares how he turned sluggish C# and .NET endpoints into snappy APIs with a measured approach that delivered a 20x speedup. This post zeroes in on real bottlenecks through profiling and tackles common culprits like chatty logging and request queuing so your services stay fast when the load gets real.

The EF Core AsNoTracking Mistake That Quietly Broke My Data Layer

Michael Preston shares how a one-line EF Core optimization using AsNoTracking trimmed memory and latency but quietly broke identity resolution across queries in the same request scope. This post peeks under EF Core's hood and shows when to keep tracking on, when no-tracking is safe, and how to dodge sneaky relationship bugs.