<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.dotnetacademy.dev/</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/About</loc>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Contact</loc>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Search</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/high-performance-net-async-multithreading-and-parallel-programming/1</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/rabbitmq/2</loc>
    <lastmod>2026-01-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/angular/3</loc>
    <lastmod>2026-01-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/domain-driven-design/4</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/semantic-kernel/5</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/redis/6</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/keycloak/7</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/kubernetes/9</loc>
    <lastmod>2026-03-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/aspnet-core-security/10</loc>
    <lastmod>2026-01-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/blazor/11</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/cleanandreactoring/12</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/microsoft-agent-framework/13</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/grpc-with-net/14</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Category/generative-ai-for-beginners/15</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/integrating-storage-in-kubernetes/212</loc>
    <lastmod>2026-03-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/dead-letter-queue/1</loc>
    <lastmod>2026-01-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-robust-retry-mechanisms-with-rabbitmq-quorum-queues-and-dlx/2</loc>
    <lastmod>2026-01-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/how-plinq-partitions-your-data/68</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/linq-vs-plinq-choosing-the-right-strategy-for-data-processing/64</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/taskcontinuationoptions/73</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/managing-cpu-allocation-understanding-thread-priority/79</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/leveraging-liquid-templates-in-semantic-kernel/83</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/securing-aspnet-core-minimal-apis-with-custom-api-key-authentication/87</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/api-rate-limiting-a-comprehensive-overview/91</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/per-user-rate-limiting-strategy/96</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/comprehensive-guide-to-owasp-top-10-2021-security-implementation-in-aspnet-core/101</loc>
    <lastmod>2026-01-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/razor-syntax-the-bridge-between-html-and-c/105</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/blazor-component-lifecycle-events/109</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/protocol-buffers-nested-messages/215</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/creating-native-plugins-using-kernelfunction-attribute-in-semantic-kernel/114</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/building-openapi-plugins-in-semantic-kernel-a-todo-api-integration/118</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/chaining-kernel-functions-in-semantic-kernel/120</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-one-way-data-binding-in-blazor-a-complete-guide/125</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/elementreference-in-blazor/129</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/sections-in-aspnet-core-blazor-net-8/133</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/producing-structured-output-with-agents/156</loc>
    <lastmod>2026-02-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/function-tools-with-microsoft-agent-framework/160</loc>
    <lastmod>2026-02-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/hosted-mcp-tools-with-microsoft-agent-framework/162</loc>
    <lastmod>2026-02-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/agent-middleware/166</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/termination-and-guardrails/170</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/shared-state/173</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/microsoft-agent-framework-workflows-edges/176</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/agents-in-workflows/179</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-getstreamingresponseasync/182</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-tool-calling/183</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-chatoptions/184</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-cache-responses/185</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-custom-middleware/186</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-functionality-pipelines/187</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/accessing-data-in-ai-functions/193</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/text-tokenization-with-microsoftmltokenizers/196</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/common-kubectl-commands/200</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-service-discovery/203</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-daemonsets/206</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-configmaps/209</loc>
    <lastmod>2026-03-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/referencing-other-proto-files-—-a-beginners-guide/218</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/grpc-performance-why-you-should-reuse-a-grpc-channel/224</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/grpc-performance-how-to-not-get-held-up-by-the-concurrent-stream-limit/225</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/grpc-performance-keeping-your-connection-alive-with-keep-alive-pings/226</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/grpc-performance-when-streaming-is-better-than-individual-unary-calls/227</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/grpc-performance-using-binary-payloads-to-decrease-message-size/228</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/strategies-for-identifying-and-optimizing-plinq-workloads/65</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/combining-parallel-and-sequential-modes-in-plinq/69</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/setting-up-your-environment-for-angular-development/3</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/error-handling-in-plinq/70</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-anatomy-of-an-angular-component/4</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/handling-errors-in-c-task-continuations/74</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/prompt-execution-settings-in-semantic-kernel/80</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/building-support-agents-with-handlebars-templates/84</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/jwt-vs-bearer-the-format-and-the-scheme/88</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/result-overrides/171</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/fixed-window-rate-limiting-strategy/92</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/sliding-window-rate-limiting-strategy/93</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/chained-rate-limiting-strategy/97</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/rate-limiting-comparison-and-selection-guide/98</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-blazor’s-interactive-auto-render-mode-and-bootstrapping/102</loc>
    <lastmod>2026-01-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/dependency-injection-in-blazor-a-practical-guide-with-real-world-examples/106</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/reusable-components-and-shareable-pages-in-blazor/110</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-guide-to-openai-and-semantic-kernel-in-net/48</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/microsoft-agent-framework-workflows-overview/174</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/calling-native-functions-from-plugins-in-prompts-a-complete-guide/115</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/what-is-invariants/122</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/two-way-data-binding-in-blazor-a-complete-guide/126</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/control-head-content-in-aspnet-core-blazor-apps/130</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-art-of-decomposition-mastering-the-one-thing-rule-and-defeating-long-methods/134</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/multimodels-with-agents/157</loc>
    <lastmod>2026-02-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/human-in-the-loop-tool-approvals/161</loc>
    <lastmod>2026-02-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/microsoft-agent-framework-workflows-events/177</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/local-session-state/163</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/adding-middleware-to-agents/167</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/human-in-the-loop-workflows/180</loc>
    <lastmod>2026-02-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/iembeddinggenerator-basic-embedding-generation/188</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/iembeddinggenerator-semantic-similarity-search/189</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/iembeddinggenerator-caching-pipeline/190</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/iembeddinggenerator-custom-middleware/191</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/handle-invalid-tool-input-from-ai-models/194</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-kubernetes-pods/201</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/protocol-buffers-collections-—-repeated-fields-and-map-fields/216</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-replicasets/204</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/supercharging-kubernetes-debugging-a-guide-to-k8sgpt-google-gemini-25-pro/207</loc>
    <lastmod>2026-03-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-secret/210</loc>
    <lastmod>2026-03-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/protocol-buffers-scalar-types/213</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-goldilocks-guide/219</loc>
    <lastmod>2026-03-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/making-unary-calls-in-grpc-with-net/229</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/client-streaming-in-grpc-with-net/230</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/creating-components-with-the-angular-cli/5</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-commandflags-in-stackexchangeredis/37</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/template-reference-variables/11</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/if-control-block/6</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/for-control-block/7</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/encapsulating-css-styling/12</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/change-detection/13</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/switch-control-flow/8</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/classstyle-binding/9</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/component-communication/10</loc>
    <lastmod>2026-01-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/open-host-service-ohs/15</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/published-language/16</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/what-is-semantic-kernel/22</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/conformist/17</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/anti-corruption-layer-acl/18</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/shared-kernel/19</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/customer-supplier/20</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/partnership/21</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/plinq-implementation-control-and-best-practices/66</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/case-study-boosting-performance-with-plinq-in-real-world-scenarios/71</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-the-net-thread-class/75</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/passing-parameters-to-managed-threads/76</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-deep-dive-into-prompttemplateconfig/81</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-comparative-guide-to-prompt-template-factories/85</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/structuring-semantic-kernel-functions-with-plugins/111</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-oauth-20-client-credentials-flow-with-scope-based-authorization-in-aspnet-core/89</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/token-bucket-rate-limiting-strategy/94</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/jwt-signing-algorithms-a-comprehensive-guide/99</loc>
    <lastmod>2026-01-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-blazor-counter-component/103</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-render-modes-in-blazor/107</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-danger-of-non-local-invariants-a-case-study/123</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/building-and-integrating-custom-plugins-in-semantic-kernel/51</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/creating-native-plugins-in-semantic-kernel-using-reflection/113</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/native-vs-semantic-plugins-in-semantic-kernel/116</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/renderfragment-in-blazor-a-complete-guide/127</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/component-virtualization-in-aspnet-core-blazor/131</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/single-level-of-abstraction-principle/135</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/background-responses-in-the-microsoft-agent-framework/158</loc>
    <lastmod>2026-02-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/session/164</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/chat-level-middleware/168</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/setting-up-a-12-node-kubernetes-cluster-with-dapr-on-windows/63</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/aggregation-and-action-in-plinq/67</loc>
    <lastmod>2026-01-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/task-continuations-in-c/72</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-deployments/205</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/waiting-for-threads-with-join/77</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/graceful-termination-how-to-stop-a-thread-safely/78</loc>
    <lastmod>2026-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-jobs-and-cronjobs/208</loc>
    <lastmod>2026-03-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-deep-dive-into-kernelprompttemplatefactory/82</loc>
    <lastmod>2026-01-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-complete-guide-to-generating-self-signed-certificates-on-windows/86</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/concurrency-rate-limiting-strategy/95</loc>
    <lastmod>2026-01-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/what-is-reference-token-server-side-token-management-with-net/100</loc>
    <lastmod>2026-01-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-blazor-weather-component/104</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-code-behind-approaches-in-blazor/108</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/role-based-access-control-for-kubernetes/211</loc>
    <lastmod>2026-03-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/how-to-build-semantic-kernel-plugins-a-step-by-step-guide-using-culinary-assistant/112</loc>
    <lastmod>2026-02-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/nesting-kernel-functions-in-semantic-kernel/119</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/composition-vs-inheritance-in-c-a-guide-to-flexible-design/124</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/errorboundary-component-in-aspnet-core-blazor/132</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/message-types-in-the-microsoft-agent-framework/155</loc>
    <lastmod>2026-02-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/observability-with-opentelemetry-and-net-aspire/159</loc>
    <lastmod>2026-02-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/context-providers/165</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/agent-vs-run-scope/169</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/exception-handling/172</loc>
    <lastmod>2026-02-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/protocol-buffers-enum-types/214</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/microsoft-agent-framework-workflows-executors/175</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/microsoft-agent-framework-workflow-builder-and-execution/178</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/ichatclient-getresponseasync/181</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/function-calling-with-microsoftextensionsai/192</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/text-to-image-generation-with-iimagegenerator/195</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/exploring-your-kubernetes-cluster-with-kubectl/199</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/kubernetes-labels-and-annotations/202</loc>
    <lastmod>2026-03-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/protobuf-oneof-and-options/217</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/text-completions-and-chat-conversations-with-microsoftextensionsai/220</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/streaming-and-structured-output-with-microsoftextensionsai/221</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/function-calling-with-microsoftextensionsai/222</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/middleware-pipelines-with-microsoftextensionsai/223</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/server-streaming-in-grpc-with-net/231</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/bidirectional-streaming-in-grpc-with-net/232</loc>
    <lastmod>2026-03-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/angular-pipes-1/29</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-functional-architecture-of-semantic-kernel/23</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/angular-pipes-2/30</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/advanced-functional-architecture-in-semantic-kernel/26</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-the-execution-flow-of-semantic-kernel-from-orchestration-to-output/27</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/pipe/28</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/let-keyword/32</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/standalone-vs-normal-pipes/34</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/custom-pipe/33</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/pure-vs-impure-pipes/35</loc>
    <lastmod>2026-01-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-redis-pubsub/36</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/redis-pubsub-in-net-a-complete-implementation-guide/38</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/dynamic-messaging-pattern-based-pubsub-with-and/39</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/redis-streams-at-most-once-vs-at-least-once/41</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-deep-dive-into-streamaddasync/40</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/redis-stream-consumer-example/42</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/angular-directives-a-hands-on-guide/43</loc>
    <lastmod>2026-01-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/interactive-angular-directives-powering-ui-with-hostbinding-and-hostlistener/44</loc>
    <lastmod>2026-01-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-persistent-context-with-chat-history-in-net/50</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/hostbinding-in-angular/45</loc>
    <lastmod>2026-01-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/hostlistener-in-angular/46</loc>
    <lastmod>2026-01-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/deploying-keycloak-25-with-postgresql/47</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/fine-tuning-ai-creativity-deep-dive-into-temperature-and-topp-in-net/49</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-response-streaming-in-semantic-kernel/52</loc>
    <lastmod>2026-01-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/parallelfor/53</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/parallelforeach/54</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/managing-state-with-parallelloopstate-and-local-state/55</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/error-handling-in-parallel-loops/56</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-retry-logic-and-thread-safe-logging/57</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/optimizing-performance-when-to-use-parallel-loops-in-c/58</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/eliminating-bottlenecks-reducing-contention-with-threadlocalt/59</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/building-context-with-chat-history-in-semantic-kernel/60</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/implementing-stateful-ai-with-semantic-kernel-chat-history/61</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/enhancing-prompts-with-kernel-arguments/62</loc>
    <lastmod>2026-01-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/building-hybrid-plugins-in-semantic-kernel/117</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/why-readability-is-not-a-luxury/121</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-name-is-the-documentation-3-rules-for-naming-functions/136</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/if-statements-should-stand-alone/137</loc>
    <lastmod>2026-02-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/strategies-to-eliminate-if-else-chains-in-c/138</loc>
    <lastmod>2026-02-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/refactoring-with-interfaces-if-else/139</loc>
    <lastmod>2026-02-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/fuse-similar-code-together/140</loc>
    <lastmod>2026-02-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/defending-the-data/141</loc>
    <lastmod>2026-02-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/cohesion-vs-coupling/142</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/the-law-of-demeter/143</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/understanding-the-difference-between-oop-and-fp-in-c/144</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/why-functional-programming-concepts-lead-to-cleaner-c-code/145</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/c-fp-writing-cleaner-methods-with-functional-concepts/146</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/openclosed-principle-ocp-in-c-flexible-exception-handling/147</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/handling-aggregateexception-in-tpl/148</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/custom-exceptions-in-c-when-and-how-to-use-them/149</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/writing-cleaner-c-with-guard-clauses/150</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/null-object-pattern-cleaner-business-logic-in-c/151</loc>
    <lastmod>2026-02-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/a-guide-to-openai-and-microsoft-agent-framework-in-net/152</loc>
    <lastmod>2026-02-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/streaming-vs-non-streaming-with-microsoft-agent-framework-in-net/153</loc>
    <lastmod>2026-02-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.dotnetacademy.dev/Lesson/response-types-in-the-microsoft-agent-framework/154</loc>
    <lastmod>2026-02-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
