<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://blog.denglei.me/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/go/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/http/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/go-http-server-can-handle-thousands-of-connections/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/%E9%AB%98%E5%B9%B6%E5%8F%91/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/gin/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/gin-request-flow/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/git-commit-icon-scheme/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/dotnet10-openapi-versioning/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/dotnet-result-deadlock-threadpool-starvation/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/dotnet-memory-optimization-span-arraypool-gc-loh/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/ai/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-memory-cache-guide/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-httpclientfactory-polly-resilience/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-jwt-policy-authorization/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/aspnet-core/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/best-practice/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/csharp-async-task-valuetask-threadpool-backpressure/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/caching/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/csharp/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/dotnet/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-transactions-savechanges-executionstrategy-outbox/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-write-pipeline-changetracker-sql-batch-optimization/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-raw-sql-fromsql-sqlquery-mapping/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-concurrency-rowversion-optimistic-lock/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-slow-query-tagwith-opentelemetry-execution-plan/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-interceptors-savechanges-command-audit/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/efcore-query-performance-include-projection-tracking/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/ef-core/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/microsoft-agent-framework-kimi-api-console/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/observability/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/performance/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/python/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/tags/redis/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/redis-cache-pattern-delayed-double-delete/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/serilog-opentelemetry-trace-correlation/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/serilog-structured-logging-sink-enricher/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-request-pipeline-performance-observability/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/pythonic-thinking-migration-guide/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-efcore-dynamic-pagination/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-efcore-multi-tenant-data-isolation/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.denglei.me/posts/aspnet-core-middleware-vs-filter/</loc>
    <lastmod>2026-07-16T17:31:49+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
