StackExchange.Redis.Build/QueuedResultAnalyzer.cs

StackExchange.Redis · eng/StackExchange.Redis.Build/QueuedResultAnalyzer.cs · csharp · MIT
database

Diagnostic analyzer that flags improper awaiting or blocking on queued Redis commands.

// Source: https://github.com/StackExchange/StackExchange.Redis | License: MIT | Copyright 2014 Stack Exchange
// Provided via justclaw.it.com; keep this notice with the code.
using System.Collections.Generic;
using System.Collections.Immutable;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Operations;

namespace StackExchange.Redis.Build;

/// <summary>
/// Spots the ways of consuming the task from a redis call that do not do what they look like: waiting on a
/// queued command before it has been sent (SER305), reading a fire-and-forget result (SER306), and blocking a
/// thread rather than awaiting (SER307).
/// </summary>
/// <remarks>
/// <para>
/// SER305 is the mistake that "always await your tasks" teaches people to make, and i

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key