All rules

Resource Lifecycle

Detects disposable resources allocated without a using statement or try/finally disposal, leading to connection and handle leaks.

Why this rule exists

An undisposed SqlConnection or FileStream eventually exhausts the pool or the OS handle table. The symptom is a slow degradation that production alerting will only catch after customer impact.

Code example

Triggers the rule
+ var conn = new SqlConnection(cs);
+ conn.Open();
+ var cmd = conn.CreateCommand();
Passes the rule
+ using var conn = new SqlConnection(cs);
+ await conn.OpenAsync();
+ using var cmd = conn.CreateCommand();

Configuration

Disable or adjust the severity of this rule in .gauntletci.json:

{
  "rules": {
    "GCI0024": { "enabled": true, "severity": "Warn" }
  }
}

See Configuration for the full schema.

Related rules

Discussed in

Implemented in src/GauntletCI.Core/Rules/Implementations/GCI0024_*.cs.

About the author

Eric Cogen -- Founder, GauntletCI

Twenty years as a senior technical consultant building and modernizing enterprise platforms across .NET, AWS, serverless, microservices, and AI-driven systems.