<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mohammad Negah</title>
    <description>The latest articles on Forem by Mohammad Negah (@dot_nettips_a4e90828daa4).</description>
    <link>https://forem.com/dot_nettips_a4e90828daa4</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2033331%2Fc9b25efc-9d90-4db2-b0a2-a58d0c499d39.jpg</url>
      <title>Forem: Mohammad Negah</title>
      <link>https://forem.com/dot_nettips_a4e90828daa4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dot_nettips_a4e90828daa4"/>
    <language>en</language>
    <item>
      <title>Advanced Search in .NET with Elasticsearch(Full Video)</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Sat, 04 Jan 2025 02:18:26 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/advanced-search-in-net-with-elasticsearch-362i</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/advanced-search-in-net-with-elasticsearch-362i</guid>
      <description>&lt;p&gt;🚀Advanced Search Integration in .NET9 with Elasticsearch and SQL Server  &lt;/p&gt;

&lt;p&gt;✅ In this comprehensive guide, I explore the evolution of search technology, focusing on Elasticsearch, a powerful search engine that originated from the creators of Apache Lucene. &lt;/p&gt;

&lt;p&gt;1️⃣I'll walk through configuring Elasticsearch using Docker, ensuring a seamless setup for your development environment. &lt;/p&gt;

&lt;p&gt;2️⃣Additionally, I'll cover the installation of essential packages in a .NET 9 application, enabling efficient integration with Elasticsearch.&lt;/p&gt;

&lt;p&gt;3️⃣To validate our implementation, I'll utilize Postman for testing, ensuring my search functionality operates as intended.&lt;/p&gt;

&lt;p&gt;💡By the end of this tutorial, you'll have a solid understanding of implementing advanced search capabilities in ASP.NET Core applications, leveraging the combined power of Elasticsearch and SQL Server.&lt;/p&gt;

&lt;p&gt;🔗 Watch the full tutorial now: &lt;a href="https://lnkd.in/eKVu6Vbf" rel="noopener noreferrer"&gt;Watching full video&lt;/a&gt;&lt;br&gt;
🔗 project from my GitHub: &lt;a href="https://lnkd.in/eTJ_67gG" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt;&lt;/p&gt;

</description>
      <category>elasticsearch</category>
      <category>sqlserver</category>
      <category>aspnet</category>
      <category>docker</category>
    </item>
    <item>
      <title>🚀Build, Implement, and Test gRPC Services with .NET9</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Thu, 19 Dec 2024 19:56:17 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/build-implement-and-test-grpc-services-with-net9-o01</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/build-implement-and-test-grpc-services-with-net9-o01</guid>
      <description>&lt;p&gt;In today's fast-paced world, optimizing communication between services is essential. That's why I want to share my latest tutorial with you: "𝐁𝐮𝐢𝐥𝐝𝐢𝐧𝐠 𝐚𝐧𝐝 𝐈𝐦𝐩𝐥𝐞𝐦𝐞𝐧𝐭𝐢𝐧𝐠 𝐠𝐑𝐏𝐂 𝐒𝐞𝐫𝐯𝐢𝐜𝐞𝐬 𝐢𝐧 .𝐍𝐄𝐓 𝟗!" 🎥&lt;/p&gt;

&lt;p&gt;🔑 What You'll Learn:&lt;br&gt;
1️⃣How to create a .proto file to define your service methods and data models.&lt;/p&gt;

&lt;p&gt;2️⃣Step-by-step guide to implementing services with gRPC, including Create, Read, Update, and Delete operations.&lt;/p&gt;

&lt;p&gt;3️⃣Testing gRPC services using Postman—a unique approach compared to traditional REST APIs.&lt;/p&gt;

&lt;p&gt;4️⃣Debugging and optimizing your gRPC services in a .NET 9 project.&lt;br&gt;
💡 This tutorial is perfect for .NET developers looking to level up their skills by integrating gRPC in their applications for better performance, scalability, and real-time communication.&lt;br&gt;
📺 𝐖𝐚𝐭𝐜𝐡 𝐭𝐡𝐞 𝐅𝐮𝐥𝐥 𝐕𝐢𝐝𝐞𝐨: &lt;a href="https://lnkd.in/ddKunEfj" rel="noopener noreferrer"&gt;https://lnkd.in/ddKunEfj&lt;/a&gt;&lt;br&gt;
📥 𝐏𝐫𝐨𝐣𝐞𝐜𝐭 𝐒𝐨𝐮𝐫𝐜𝐞 𝐂𝐨𝐝𝐞: Available on GitHub (&lt;a href="https://lnkd.in/dGnh3WTS" rel="noopener noreferrer"&gt;https://lnkd.in/dGnh3WTS&lt;/a&gt;)&lt;br&gt;
Don’t forget to like, share, and subscribe for more high-quality content!&lt;/p&gt;

&lt;p&gt;🔗 more tutorial videos: &lt;a href="//youtube.com/@mnegah"&gt;YouTube videos&lt;/a&gt;&lt;br&gt;
🔗 more tutorial tips: &lt;a href="//t.me/DotNetTipsChl"&gt;DotNetTips&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rzHhQtYhPyw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>grpc</category>
      <category>programming</category>
      <category>dotnet</category>
      <category>aspnetcore</category>
    </item>
    <item>
      <title>🚀 𝐁𝐨𝐨𝐬𝐭 𝐘𝐨𝐮𝐫 𝐀𝐩𝐩'𝐬 𝐏𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞 𝐰𝐢𝐭𝐡 𝐇𝐲𝐛𝐫𝐢𝐝 𝐂𝐚𝐜𝐡𝐢𝐧𝐠!</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Sun, 01 Dec 2024 10:12:42 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/--4k6</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/--4k6</guid>
      <description>&lt;p&gt;In today’s fast-paced tech world, optimizing application performance is crucial. That’s why I’m thrilled to introduce my latest tutorial: "Hybrid Caching with Redis and In-Memory Cache in .NET 9"! 🎥&lt;/p&gt;

&lt;p&gt;🔑 𝐖𝐡𝐚𝐭 𝐘𝐨𝐮'𝐥𝐥 𝐋𝐞𝐚𝐫𝐧:&lt;br&gt;
The power of hybrid caching: Combine the speed of in-memory caching with the scalability of distributed caching using Redis.&lt;br&gt;
How to set up Redis in Docker for seamless integration.&lt;br&gt;
Step-by-step implementation of a HybridCacheManager in a Clean Architecture project.&lt;/p&gt;

&lt;p&gt;Best practices for service registration, configuration, and testing.&lt;br&gt;
Practical API examples to see hybrid caching in action!&lt;/p&gt;

&lt;p&gt;💡 This tutorial is perfect for developers looking to take their .NET apps to the next level by ensuring fast, scalable, and reliable data access.&lt;/p&gt;

&lt;p&gt;📥 Project Source Code: Available on GitHub (&lt;a href="https://github.com/negahbanfard66/HybridcacheSampleProject.git" rel="noopener noreferrer"&gt;https://github.com/negahbanfard66/HybridcacheSampleProject.git&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;📺 Watch the Full Video: &lt;br&gt;
&lt;a href="https://youtu.be/Xo-HF1eMTZg" rel="noopener noreferrer"&gt;𝐁𝐨𝐨𝐬𝐭 𝐘𝐨𝐮𝐫 𝐀𝐩𝐩'𝐬 𝐏𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞 𝐰𝐢𝐭𝐡 𝐇𝐲𝐛𝐫𝐢𝐝 𝐂𝐚𝐜𝐡𝐢𝐧𝐠&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don’t forget to 𝐥𝐢𝐤𝐞, 𝐬𝐡𝐚𝐫𝐞, 𝐚𝐧𝐝 𝐬𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞 for more high-quality content!&lt;br&gt;
Let’s build smarter and faster applications together! Cheers, and happy coding! 🎉 &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Xo-HF1eMTZg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>hybridcache</category>
      <category>dotnet</category>
      <category>redis</category>
    </item>
    <item>
      <title>✅ASP.NET Core API Gateway with Ocelot Part 4 (Rate Limiting)</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Sun, 17 Nov 2024 22:38:34 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/aspnet-core-api-gateway-with-ocelot-part-4-rate-limiting-4ia1</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/aspnet-core-api-gateway-with-ocelot-part-4-rate-limiting-4ia1</guid>
      <description>&lt;p&gt;In this fourth part of our series on ASP.NET Core API Gateway with Ocelot, we dive deep into the concept of Rate Limiting. &lt;/p&gt;

&lt;p&gt;Rate limiting is a critical feature for maintaining the stability and security of your APIs by controlling the number of requests a client can make within a specified time period. &lt;/p&gt;

&lt;p&gt;💡This prevents abuse, ensures fair usage among clients, and protects your backend services from being overwhelmed by excessive traffic.&lt;br&gt;
🔗 Check out the video and get the full project code on my GitHub: &lt;br&gt;
👉&lt;a href="https://youtu.be/G58kc1IoXbs" rel="noopener noreferrer"&gt;API Gateway with Ocelot Part 4 (Rate Limiting)&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/G58kc1IoXbs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>microservices</category>
      <category>ocelo</category>
      <category>apigateway</category>
      <category>aspnetcore</category>
    </item>
    <item>
      <title>🚀 𝐁𝐨𝐨𝐬𝐭 𝐘𝐨𝐮𝐫 𝐀𝐏𝐈 𝐒𝐤𝐢𝐥𝐥𝐬 𝐰𝐢𝐭𝐡 𝐌𝐲 𝐎𝐜𝐞𝐥𝐨𝐭 𝐆𝐚𝐭𝐞𝐰𝐚𝐲 𝐄𝐬𝐬𝐞𝐧𝐭𝐢𝐚𝐥𝐬!</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Fri, 08 Nov 2024 14:03:21 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/-36la</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/-36la</guid>
      <description>&lt;p&gt;Whether you're an experienced developer or just starting out with API gateways, understanding how to use Ocelot is crucial for building scalable, secure applications! I've created a three-part video series covering the essentials of Ocelot on my YouTube channel, including:&lt;/p&gt;

&lt;p&gt;1️⃣ 𝐑𝐨𝐮𝐭𝐢𝐧𝐠: Discover how to handle complex routing configurations effortlessly and streamline your API calls! 🌐&lt;/p&gt;

&lt;p&gt;2️⃣ 𝐀𝐮𝐭𝐡𝐞𝐧𝐭𝐢𝐜𝐚𝐭𝐢𝐨𝐧 &amp;amp; 𝐀𝐮𝐭𝐡𝐨𝐫𝐢𝐳𝐚𝐭𝐢𝐨𝐧: Secure your applications with confidence using Ocelot's robust security features. Your APIs deserve strong protection! 🔒🛡️&lt;/p&gt;

&lt;p&gt;3️⃣ 𝐋𝐨𝐚𝐝 𝐁𝐚𝐥𝐚𝐧𝐜𝐢𝐧𝐠: Ensure your services stay responsive with efficient load distribution. Scale smoothly and manage heavy traffic with ease! ⚖️&lt;/p&gt;

&lt;p&gt;👉 Each video is packed with practical tips and real-world scenarios to help you master Ocelot Gateway. &lt;/p&gt;

&lt;p&gt;Don't miss out—these are foundational skills for anyone working with microservices and .NET!&lt;br&gt;
✨ Head to my YouTube channel, check out the series, and let’s take your gateway skills to the next level! 🔥&lt;/p&gt;

&lt;p&gt;📺 Watch now, download the project, and share your thoughts with me!&lt;br&gt;
&lt;a href="https://www.youtube.com/playlist?list=PLAXdNEPUbaY1lHLe6sV6KiwUm3-pqr7yM" rel="noopener noreferrer"&gt;𝐁𝐨𝐨𝐬𝐭 𝐘𝐨𝐮𝐫 𝐀𝐏𝐈 𝐒𝐤𝐢𝐥𝐥𝐬 𝐰𝐢𝐭𝐡 𝐌𝐲 𝐎𝐜𝐞𝐥𝐨𝐭 𝐆𝐚𝐭𝐞𝐰𝐚𝐲 𝐄𝐬𝐬𝐞𝐧𝐭𝐢𝐚𝐥𝐬&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apigateway</category>
      <category>microservices</category>
      <category>aspnetcore</category>
      <category>csharp</category>
    </item>
    <item>
      <title>🚀What is Race Hazards and how to avoid it in C#🚀</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Fri, 08 Nov 2024 09:40:01 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/what-is-race-hazards-and-how-to-avoid-it-in-c-1h4a</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/what-is-race-hazards-and-how-to-avoid-it-in-c-1h4a</guid>
      <description>&lt;p&gt;✅ &lt;strong&gt;A race hazard&lt;/strong&gt; (or race condition) is an issue in concurrent programming where the outcome of a program depends on the sequence or timing of uncontrollable events like thread execution. This usually occurs when two or more threads or processes try to access and modify shared resources without proper synchronization, leading to unpredictable results and potential bugs.&lt;/p&gt;

&lt;p&gt;Imagine two threads, Thread A and Thread B, both trying to increment a shared counter variable. Without safeguards (like locks or other synchronization mechanisms), both threads could read the same initial value, increment it, and then write the same final value, which means one of the increments would effectively be lost. This type of hazard can lead to data corruption, incorrect results, or unexpected behavior.&lt;/p&gt;

&lt;p&gt;🔥 To avoid race hazards in C#, the lock keyword and Semaphore are two powerful tools that help control access to shared resources, ensuring only one thread accesses critical code sections at a time.&lt;/p&gt;

&lt;p&gt;𝐓𝐡𝐞 𝐥𝐨𝐜𝐤 𝐊𝐞𝐲𝐰𝐨𝐫𝐝&lt;br&gt;
💡The lock keyword is used to create a mutual exclusion region, ensuring that only one thread enters a specific code section, preventing other threads from entering until the first has exited. It's simple to use and often the preferred option when handling thread synchronization in basic cases.&lt;/p&gt;

&lt;p&gt;𝐒𝐞𝐦𝐚𝐩𝐡𝐨𝐫𝐞 𝐚𝐧𝐝 𝐒𝐞𝐦𝐚𝐩𝐡𝐨𝐫𝐞𝐒𝐥𝐢𝐦&lt;br&gt;
💡Semaphore (and its more efficient sibling SemaphoreSlim) is more flexible than lock. While lock restricts access to a single thread, a Semaphore allows you to set a count, defining how many threads can access the resource simultaneously. This is especially useful for resource pools or when handling multiple tasks concurrently, but it can increase complexity.&lt;/p&gt;

&lt;p&gt;🔗 If you'd like a deeper dive, check out this link: &lt;br&gt;
&lt;a href="https://youtube.com/shorts/xdUKS9qKk_E" rel="noopener noreferrer"&gt;How to avoid Race Hazards&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/xdUKS9qKk_E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>racehazard</category>
      <category>programming</category>
      <category>csharp</category>
    </item>
    <item>
      <title>Reducing Database Load Without Relying on MARS</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Wed, 06 Nov 2024 11:49:20 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/reducing-database-load-without-relying-on-mars-5ejg</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/reducing-database-load-without-relying-on-mars-5ejg</guid>
      <description>&lt;p&gt;In this tutorial, the goal is to address common issues that arise when handling database queries that require multiple active results without enabling MARS (Multiple Active Result Sets). MARS is a feature that allows applications to execute multiple database operations on a single connection simultaneously. However, it can lead to increased resource usage, particularly in high-traffic environments, so a more efficient design can benefit performance and scalability.&lt;br&gt;
&lt;a href="https://youtu.be/Kso1ScbNrWQ" rel="noopener noreferrer"&gt;Reducing Database Load&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Kso1ScbNrWQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>efcore</category>
      <category>database</category>
      <category>aspnetcore</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>Task Cancellation Pattern</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Wed, 06 Nov 2024 08:11:00 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/task-cancellation-pattern-4oi</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/task-cancellation-pattern-4oi</guid>
      <description>&lt;p&gt;✅ The Task Cancellation Pattern enables applications to stop long-running tasks cleanly and predictably, without causing unwanted side effects like memory leaks or incomplete operations. It enhances control over asynchronous operations, making it highly useful in applications with multiple background tasks or where user interactions might require a task to be halted.&lt;/p&gt;

&lt;p&gt;💡Instead of forcefully terminating the task, the task itself determines when to exit, ensuring no resources are leaked or in an inconsistent state.&lt;/p&gt;

&lt;p&gt;💡The pattern is thread-safe since cancellation is cooperative; the task has full control over how and when it stops.&lt;/p&gt;

&lt;p&gt;💡For long-running tasks, the ability to cancel operations mid-execution improves overall application responsiveness, especially in UI or real-time applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6i61c11967h8x59dm66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6i61c11967h8x59dm66.png" alt="Image description" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔥To find more tips, check out these links::&lt;br&gt;
&lt;a href="https://t.me/DotNetTipsChl" rel="noopener noreferrer"&gt;DotNetTipsChl on Telegram&lt;/a&gt; or &lt;a href="https://www.youtube.com/channel/UCyB0LyoNoAdDvDyz2ZVgfaQ" rel="noopener noreferrer"&gt;MNegah on Youtube&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>programming</category>
      <category>aspnetcore</category>
    </item>
    <item>
      <title>Boosting EF Core Performance: 7 Essential Optimization Tips</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Sat, 26 Oct 2024 11:57:09 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/boosting-ef-core-performance-7-essential-optimization-tips-5dc5</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/boosting-ef-core-performance-7-essential-optimization-tips-5dc5</guid>
      <description>&lt;p&gt;This tutorial, guides viewers through essential techniques to optimize Entity Framework Core (EF Core) applications. The aim is to improve data access efficiency, reduce memory usage, and speed up common operations in .NET applications. The tutorial covers seven core performance tips, each demonstrated with practical examples in a sample application. &lt;br&gt;
&lt;a href="https://youtu.be/rqGzFQeD-3Q" rel="noopener noreferrer"&gt;Boosting EF Core Performance&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rqGzFQeD-3Q"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>efcore</category>
      <category>csharp</category>
      <category>database</category>
      <category>programming</category>
    </item>
    <item>
      <title>When to Use Lock vs Semaphore for Thread Safety in .NET</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Thu, 17 Oct 2024 17:45:40 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/when-to-use-lock-vs-semaphore-for-thread-safety-35c6</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/when-to-use-lock-vs-semaphore-for-thread-safety-35c6</guid>
      <description>&lt;p&gt;In C#, managing concurrency is crucial when multiple threads need to access shared resources. Two common mechanisms to ensure thread safety are lock and Semaphore. Understanding when to use each is vital for building efficient and safe multithreaded applications.&lt;br&gt;
&lt;a href="https://youtube.com/shorts/xdUKS9qKk_E" rel="noopener noreferrer"&gt;Use Lock vs Semaphore for Thread Safety&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/xdUKS9qKk_E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Use .NET Aspire (Part2)</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Sun, 13 Oct 2024 17:22:23 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/how-to-use-net-aspire-part2-23db</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/how-to-use-net-aspire-part2-23db</guid>
      <description>&lt;p&gt;In this video, we dived into two key features of .NET Aspire: Service Discovery and Components. Service Discovery helps your services automatically find and communicate with each other, whether they’re local or in the cloud. Meanwhile, Components give you pre-configured tools like Redis, PostgreSQL, or RabbitMQ that seamlessly integrate into your project. These components run in containers with built-in logging and telemetry, making development and management a breeze.&lt;br&gt;
&lt;a href="https://youtu.be/DcTkvzeE-EE" rel="noopener noreferrer"&gt;How to Use .NET Aspire (Part2)&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/DcTkvzeE-EE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>aspnet</category>
      <category>aspnetcore</category>
      <category>aspire</category>
    </item>
    <item>
      <title>Span vs Substring vs Split. Which is Best</title>
      <dc:creator>Mohammad Negah</dc:creator>
      <pubDate>Tue, 08 Oct 2024 05:42:40 +0000</pubDate>
      <link>https://forem.com/dot_nettips_a4e90828daa4/span-vs-substring-vs-split-which-is-best-2h5e</link>
      <guid>https://forem.com/dot_nettips_a4e90828daa4/span-vs-substring-vs-split-which-is-best-2h5e</guid>
      <description>&lt;p&gt;In this video, We’ll compare Span with Substring and Split. Let’s see what’s best for your performance and memory usage!&lt;br&gt;
&lt;a href="https://youtube.com/shorts/GGwK5nGWF74" rel="noopener noreferrer"&gt;Span vs Substring vs Split&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/GGwK5nGWF74"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
    </item>
  </channel>
</rss>
