Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.

This approach leverages the flexibility of Docker and the powerful scripting capabilities of PowerShell, facilitating cross-platform development, streamlined deployments, and efficient DevOps workflows.

Integrating CC++ libraries into .NET applications using PInvoke allows you to call native code from managed code. This process involves declaring methods in C++ libraries using extern "C" and importing them into .NET with the DllImport attribute.

Swagger is a widely used and powerful API development toolset that offers a framework for designing, building, documenting, and consuming RESTful web services. This article explains what Swagger is and how to fix the "Failed to load API definition" error in Swagger.

In the world of software development, code readability and maintainability are paramount. One effective way to achieve these goals is by adopting the Vertical Coding Style. The result is code that is easier to understand and navigate. Let's explore how Vertical Coding Style can elevate your coding practices.

Compiled queries in LINQ (Language Integrated Query) are a powerful feature that can significantly improve the performance of your data access code, especially when dealing with repetitive queries.

Learn how to create a .NET class library, add NuGet package metadata, build a .nupkg file with dotnet pack, and publish it to NuGet.org.

Explore the new System.Threading.Lock in .NET 9 and C# 13 for enhanced multithreading performance and safety. This article covers its benefits, compiler warnings for misuse, and best practices for locking in older versions.

Efficient task scheduling is essential for many applications, whether you're building background services, automated tasks, or periodic data processing. In .NET, the System.Threading.Timer class provides a powerful and straightforward way to schedule tasks to run at specific intervals.

This service leverages ASP.NET Core to provide real-time status updates, API health checks, and dependency monitoring, enhancing application reliability and uptime.

This article will discuss JSON Serialization. Serialization is the process of converting an object into a stream of bytes to store the object or transmit it to memory, a database, or a file.

In modern software development, background tasks are essential for handling operations that need to run independently of user interactions, such as processing data, sending notifications, or performing periodic maintenance.

Learn about lazy initialization in C# .NET—a vital design pattern that defers object creation until it's needed, optimizing performance and memory usage. Implementing with Lazy<T> ensures thread safety and responsiveness, ideal for applications needing efficient resource management and scalability.

Effective error handling is crucial for creating robust and user-friendly web applications. .NET provides several built-in tools to help you manage errors gracefully, one of which is the UseStatusCodePages() middleware.

Discover how Hangfire simplifies background job processing in ASP.NET applications. Learn about its robust features for task scheduling, job management, and asynchronous job execution.

Synchronous vs Asynchronous: Explore the distinctions between Task.WaitAll and Task.WhenAll in .NET programming. Learn how Task.WaitAll synchronously waits for all tasks to complete, while Task.WhenAll asynchronously waits, enabling concurrent task execution.

Learn to implement CRUD operations, manage data efficiently, and leverage the power of MongoDB's NoSQL capabilities alongside the robust .NET framework for scalable backend development.

Learn efficient service lifetime management in .NET Console Applications using Dependency Injection (DI) with Microsoft.Extensions.DependencyInjection. Explore scoped, transient, and singleton lifetimes for optimized resource utilization and application performance.

In .NET, the HashData method offers a modern, efficient way to perform hashing operations, eliminating the need for instantiating hashing algorithm classes like SHA256. It simplifies code, enhances performance, and provides a consistent API for various algorithms.

This article will discuss delegate and MultiThreading

This article will discuss delegate based Asynchronous Programming Model.

This article will discuss Different MultiThreading Topics.

This article will discuss the multi-threading implementation in overview.

Learn how to leverage MongoDB.Driver in .NET and C# for efficient data filtering. This guide focuses on implementing MongoDB operations directly within a .NET 8 Web API project, skipping higher-level architecture. Utilize IMongoClient and IConfiguration to connect to MongoDB, configure collections, and perform CRUD operations.

Explore the evolution of .NET Frameworks, tracing from its inception to modern iterations like .NET Core, .NET 5, and .NET 6. Discover how Microsoft's development tools and runtime environments have evolved, ensuring compatibility and enhancing capabilities across versions.

In C# programming, interface members serve as blueprints that classes must follow when implementing functionality. When multiple interfaces declare members with the same names, naming conflicts can arise, necessitating careful management to ensure each member is correctly implemented for its intended interface.

Nested types in C# allow developers to define a type within another type, such as a class, struct, interface, enum, or delegate. This feature helps in organizing related types, encapsulating implementation details, and improving code readability.
Everything on .NET, not only its articles: the .NET page →
DevSocialUpcoming · 3rd editionAI Agents ConferenceNov 23–27, 2026Live onlineMembers only16days leftRegisterMembers onlyWrite an article and earn +1,000 SHARP when it is approved.
Write an article