<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Dot Net, API &amp; SQL Learning - Medium]]></title>
        <description><![CDATA[A comprehensive guide to mastering .NET Core, API and SQL, designed to enhance development skills and database expertise. - Medium]]></description>
        <link>https://medium.com/dot-net-sql-learning?source=rss----b79dc7eb9839---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Dot Net, API &amp;amp; SQL Learning - Medium</title>
            <link>https://medium.com/dot-net-sql-learning?source=rss----b79dc7eb9839---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 17:05:21 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/dot-net-sql-learning" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Middleware in ASP.NET Core: What Really Happens to Your Request?]]></title>
            <link>https://medium.com/dot-net-sql-learning/middleware-in-asp-net-core-what-really-happens-to-your-request-9eab90076d9c?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/9eab90076d9c</guid>
            <category><![CDATA[aspnetcore]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[middleware]]></category>
            <category><![CDATA[csharp]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 16:51:21 GMT</pubDate>
            <atom:updated>2026-10-28T16:51:21.823Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ia87G_MPaWxJbxPoczLC-w.jpeg" /><figcaption>Middleware in ASP.NET Core (Photo Credit — ChatGPT)</figcaption></figure><p><strong>A practical guide to understanding the request pipeline, middleware execution order, and how ASP.NET Core processes HTTP requests behind the scenes.</strong></p><h3>Have you ever wondered what happens when you send a request to an ASP.NET Core API?</h3><p>Does it go directly to the controller? Not exactly!</p><p>Before reaching the controller, your request passes through several components called <strong>middleware</strong>. These components handle tasks like authentication, logging, error handling, and routing.</p><p>Let’s understand how it works with a simple example.</p><h3>1. What Is Middleware?</h3><p>Middleware is a component that processes HTTP requests and responses in an ASP.NET Core application.</p><p>Think of middleware as security checkpoints. Each checkpoint checks something before allowing you to move forward.</p><p>For example, middleware can:</p><ul><li>Handle exceptions</li><li>Redirect HTTP to HTTPS</li><li>Authenticate users</li><li>Check user permissions</li><li>Log requests and responses</li></ul><h3>2. How Does a Request Flow?</h3><p>Imagine you’re calling this API:</p><p>GET /api/products</p><p>The request typically passes through a pipeline like this:</p><pre>Client / Postman<br>       |<br>       v<br>Exception Handling<br>       |<br>       v<br>HTTPS Redirection<br>       |<br>       v<br>Routing<br>       |<br>       v<br>Authentication<br>       |<br>       v<br>Authorization<br>       |<br>       v<br>Controller<br>       |<br>       v<br>HTTP Response</pre><p>Each middleware performs its task before passing control to the next component.</p><p>If authentication fails or middleware stops the pipeline, the controller might never execute.</p><h3>3. How Does Middleware Execute?</h3><p>Let’s create simple middleware:</p><pre>app.Use(async (context, next) =&gt;<br>{<br>    Console.WriteLine(&quot;Before&quot;);<br>    await next();<br>    Console.WriteLine(&quot;After&quot;);<br>});<br>app.Run(async context =&gt;<br>{<br>    Console.WriteLine(&quot;Controller logic&quot;);<br>    await context.Response.WriteAsync(&quot;Hello World!&quot;);<br>});</pre><p><strong>Output:</strong></p><pre>Before<br>Controller logic<br>After</pre><p>Why?</p><ul><li>Before executes first.</li><li>await next() passes control to the next component.</li><li>The terminal delegate executes.</li><li>Execution returns, and After runs.</li></ul><p>This is how middleware can process both requests and responses.</p><h3>4. Why Does Middleware Order Matter?</h3><p>Middleware must be registered in the correct order.</p><p>For example:</p><pre>app.UseAuthentication();<br>app.UseAuthorization();<br>app.MapControllers();</pre><p>Authentication identifies the user, while authorization checks whether that user has permission to access the resource.</p><p>Incorrect ordering can cause unexpected behavior.</p><p><strong>Remember:</strong> In ASP.NET Core, middleware order matters!</p><h3>5. What Is Custom Middleware?</h3><p>You can create your own middleware for tasks such as request logging or measuring API response time.</p><p>For example:</p><pre>app.Use(async (context, next) =&gt;<br>{<br>    var start = DateTime.UtcNow;<br>    await next();<br>    var duration = DateTime.UtcNow - start;<br>    Console.WriteLine(<br>        $&quot;Request took {duration.TotalMilliseconds} ms&quot;);<br>});</pre><p>This helps you measure how long a request takes to complete.</p><h3>Conclusion</h3><p>Middleware is one of the most important concepts in ASP.NET Core.</p><p>It helps you handle requests, manage authentication, catch errors, and improve application performance.</p><p>The key things to remember are:</p><ul><li>Middleware processes requests and responses.</li><li>Use() can pass control to the next component.</li><li>Run() registers terminal middleware.</li><li>Middleware order matters.</li><li>Custom middleware lets you implement your own logic.</li></ul><p><strong>Once you understand middleware, understanding the ASP.NET Core request pipeline becomes much easier.</strong></p><p><strong>Tags:</strong> ASP.NET Core · C# · .NET ·</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9eab90076d9c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dot-net-sql-learning/middleware-in-asp-net-core-what-really-happens-to-your-request-9eab90076d9c">Middleware in ASP.NET Core: What Really Happens to Your Request?</a> was originally published in <a href="https://medium.com/dot-net-sql-learning">Dot Net, API &amp; SQL Learning</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Prevent Deadlocks in C# During Asynchronous Processing]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/how-to-prevent-deadlocks-in-c-during-asynchronous-processing-a0a7d7620834?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1200/1*TtquZiN3_Ws-qOh6qPNH8g.jpeg" width="1200"></a></p><p class="medium-feed-snippet">Asynchronous programming is one of the most powerful features in modern C#. It allows applications to perform I/O-bound operations&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/how-to-prevent-deadlocks-in-c-during-asynchronous-processing-a0a7d7620834?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/how-to-prevent-deadlocks-in-c-during-asynchronous-processing-a0a7d7620834?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/a0a7d7620834</guid>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[asynchronous]]></category>
            <category><![CDATA[csharp]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[deadlock]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Wed, 30 Sep 2026 16:41:44 GMT</pubDate>
            <atom:updated>2026-09-30T16:41:44.033Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Dependency Injection Lifetimes Explained with Real Examples]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/dependency-injection-lifetimes-explained-with-real-examples-e6c6d9ca66d1?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1200/1*wC9zlYF9E_oW9x7n5IMocA.jpeg" width="1200"></a></p><p class="medium-feed-snippet">Dependency Injection (DI) is one of the most important concepts in modern .NET development. If you&#x2019;re working with ASP.NET Core, Web API&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/dependency-injection-lifetimes-explained-with-real-examples-e6c6d9ca66d1?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/dependency-injection-lifetimes-explained-with-real-examples-e6c6d9ca66d1?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/e6c6d9ca66d1</guid>
            <category><![CDATA[id]]></category>
            <category><![CDATA[microservices]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[dependency-injection]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Wed, 30 Sep 2026 15:14:23 GMT</pubDate>
            <atom:updated>2026-09-30T15:14:22.982Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How to Enable CORS in ASP.NET Core?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/how-to-enable-cors-in-asp-net-core-6cf0c6031185?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1200/1*32R3_VAMmrJDYapJONp3Pw.jpeg" width="1200"></a></p><p class="medium-feed-snippet">A Practical Guide with Real-World Examples, Diagrams &amp; Interview Questions</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/how-to-enable-cors-in-asp-net-core-6cf0c6031185?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/how-to-enable-cors-in-asp-net-core-6cf0c6031185?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/6cf0c6031185</guid>
            <category><![CDATA[api-development]]></category>
            <category><![CDATA[api-security]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[enable-cors]]></category>
            <category><![CDATA[cors]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Thu, 24 Sep 2026 13:43:46 GMT</pubDate>
            <atom:updated>2026-09-24T13:43:46.614Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Why Your Next Computer Might Be Smart Enough to Predict Its Own Failures]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/why-your-next-computer-might-be-smart-enough-to-predict-its-own-failures-f83abb68d81c?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1599/1*nsCa6TvNDTUCsFRb87O_Pw.jpeg" width="1599"></a></p><p class="medium-feed-snippet">There&#x2019;s a particular kind of dread that comes with a computer crash at the worst possible moment &#x2014; the unsaved document, the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/why-your-next-computer-might-be-smart-enough-to-predict-its-own-failures-f83abb68d81c?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/why-your-next-computer-might-be-smart-enough-to-predict-its-own-failures-f83abb68d81c?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/f83abb68d81c</guid>
            <category><![CDATA[supercomputer]]></category>
            <category><![CDATA[smart-computing]]></category>
            <category><![CDATA[reactive-programming]]></category>
            <category><![CDATA[automatio]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Thu, 24 Sep 2026 12:52:42 GMT</pubDate>
            <atom:updated>2026-09-24T12:52:42.753Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Task vs ValueTask in C#: When Should You Use Each?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/task-vs-valuetask-in-c-when-should-you-use-each-0005ecaf156a?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1280/1*GLDsiK3lrNXUeOPl3J43Cg.jpeg" width="1280"></a></p><p class="medium-feed-snippet">If you work with modern C#, you&#x2019;ve probably used Task and async/await many times.</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/task-vs-valuetask-in-c-when-should-you-use-each-0005ecaf156a?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/task-vs-valuetask-in-c-when-should-you-use-each-0005ecaf156a?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/0005ecaf156a</guid>
            <category><![CDATA[tasks]]></category>
            <category><![CDATA[valuetask]]></category>
            <category><![CDATA[asyncawait]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[asynchronous-programming]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Tue, 22 Sep 2026 18:37:09 GMT</pubDate>
            <atom:updated>2026-09-22T18:37:09.020Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Bearer Token vs JWT vs OAuth 2.0 — Stop Mixing Them Up]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/bearer-token-vs-jwt-vs-oauth-2-0-stop-mixing-them-up-c88e29ed0dea?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1280/1*45P6HrJWtjIZD9CYyXexhA.jpeg" width="1280"></a></p><p class="medium-feed-snippet">If you work with APIs, you&#x2019;ve probably heard these terms many times:</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/bearer-token-vs-jwt-vs-oauth-2-0-stop-mixing-them-up-c88e29ed0dea?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/bearer-token-vs-jwt-vs-oauth-2-0-stop-mixing-them-up-c88e29ed0dea?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/c88e29ed0dea</guid>
            <category><![CDATA[authenticatio]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <category><![CDATA[oauth2]]></category>
            <category><![CDATA[api-security]]></category>
            <category><![CDATA[jwt-token]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Tue, 22 Sep 2026 18:19:22 GMT</pubDate>
            <atom:updated>2026-09-22T18:22:18.690Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[IEnumerable vs IQueryable: The SQL Query Trap]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/ienumerable-vs-iqueryable-the-sql-query-trap-456c006a4eb4?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1279/1*SiEnzptxLlJ3UO9UB9hg6w.jpeg" width="1279"></a></p><p class="medium-feed-snippet">If you work with Entity Framework Core, you have probably used both IEnumerable and IQueryable.</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/ienumerable-vs-iqueryable-the-sql-query-trap-456c006a4eb4?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/ienumerable-vs-iqueryable-the-sql-query-trap-456c006a4eb4?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/456c006a4eb4</guid>
            <category><![CDATA[ienumerable]]></category>
            <category><![CDATA[iqueryable]]></category>
            <category><![CDATA[query-optimization]]></category>
            <category><![CDATA[csharp]]></category>
            <category><![CDATA[dotnet-core]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Mon, 21 Sep 2026 06:07:13 GMT</pubDate>
            <atom:updated>2026-09-21T06:07:13.598Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How to Implement Sign In / Sign Up with Google Authentication in ASP.NET Core ]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/how-to-implement-sign-in-sign-up-with-google-authentication-in-asp-net-core-08a6e118660a?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1600/1*rDCUdJLFbqHkJfzkvlaGvA.jpeg" width="1600"></a></p><p class="medium-feed-snippet">Almost every modern application provides a &#x201C;Continue with Google&#x201D; option.</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/how-to-implement-sign-in-sign-up-with-google-authentication-in-asp-net-core-08a6e118660a?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/how-to-implement-sign-in-sign-up-with-google-authentication-in-asp-net-core-08a6e118660a?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/08a6e118660a</guid>
            <category><![CDATA[website-development]]></category>
            <category><![CDATA[continue-with-google]]></category>
            <category><![CDATA[login]]></category>
            <category><![CDATA[signup-bonus]]></category>
            <category><![CDATA[google-authentication]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Sat, 19 Sep 2026 18:06:28 GMT</pubDate>
            <atom:updated>2026-09-19T18:06:28.430Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[.NET 10: What’s New and What Developers Should Know ]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/dot-net-sql-learning/net-10-whats-new-and-what-developers-should-know-3bdc4d2a19ad?source=rss----b79dc7eb9839---4"><img src="https://cdn-images-1.medium.com/max/1600/1*s_a7jkWgQAqN7CZ0EHzxVQ.jpeg" width="1600"></a></p><p class="medium-feed-snippet">.NET continues to evolve rapidly, and .NET 10 is an important release for developers building modern web APIs, cloud applications&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/dot-net-sql-learning/net-10-whats-new-and-what-developers-should-know-3bdc4d2a19ad?source=rss----b79dc7eb9839---4">Continue reading on Dot Net, API &amp; SQL Learning »</a></p></div>]]></description>
            <link>https://medium.com/dot-net-sql-learning/net-10-whats-new-and-what-developers-should-know-3bdc4d2a19ad?source=rss----b79dc7eb9839---4</link>
            <guid isPermaLink="false">https://medium.com/p/3bdc4d2a19ad</guid>
            <category><![CDATA[interview-questions]]></category>
            <category><![CDATA[dot-net-latest]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[dotnet-10]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Code Crack]]></dc:creator>
            <pubDate>Fri, 18 Sep 2026 17:44:38 GMT</pubDate>
            <atom:updated>2026-09-18T17:44:38.351Z</atom:updated>
        </item>
    </channel>
</rss>