What’s new in .NET 5?
.NET 5.0 is here. It is a successor of .NET Framework 4.8 a .NET Core 3.1. It means that Console, Windows Forms and WPF apps can be now packed with its own runtime. It was always possible to embed .NET Runtime installer to the application installer itself, but the new approach means that multiple apps does not share and therefore does not depend on a single .NET Runtime. You can develop on latest bits without affecting others. Implications are huge. Read more ›
How C# nullable reference types affects your ASP.NET Core routing
I thought that the new C# 8.0 feature – non-nullable reference types is just an IntelliSense feature powered by Roslyn that prevents null reference exceptions. I was wrong. It may affect how your application works in many ways. More specifically, everything that use reflection can start behaving differently. It includes also ASP.NET Core routing. Some bindings can stop working when no additional code changes are applied. Read more ›
Host ASP.NET Core on Oracle Autonomous Linux with Nginx
This article is a step-by-step manual explaining how to create and configure Oracle Autonomous Linux virtual machine for hosting ASP.NET Core 3.1 web application. We will connect to Linux machine from the Windows workstation by PowerShell. The application will be created and compiled Visual Studio. The application is self-contained, so installation of the .NET Core runtime is not necessary. Read more ›
What’s new in C# 7.1, 7.2 & 7.3 and what’s next
C# is continuously evolving and absorbing many useful features. Some of them are syntax sugar and Visual Studio will propose a simplified code, but some of them allows what wasn’t possible before so taking advantage of new C# version requires a change of thinking about the code. The best way how to unlock new capabilities is learning of functional programming because most features are taken from F#. Read more ›
How to redirect to HTTPS in ASP.NET MVC application correctly
Upgrading browsers visiting your website to secure connection is a best practice and it is easy to do. I have decided to share my implementation because I had seen many partial or insecure implementations. Correct implementation satisfies both backward compatibility and security requirements of various web browsers. This article covers what you need to know before you start to redirect your users to HTTPS protocol. Read more ›
How to enable response compression in ASP.NET Core 2 with gzip and Brotli encoding
Internet traffic can be compressed to save network bandwidth usage. While images and web fonts are already compressed, text files are stored on the server in human readable form. HTTP.sys server and Kestrel currently don't have built-in compression support. By default, only static files are compressed with gzip. What if you want compress more? Read more ›
How to write a custom awaitable method
When you are calling an asynchronously waitable (awaitable) method, you may be curious how to write a custom awaitable method yourself. It is very simple especially in case when the class contains only single awaitable method. Every awaitable method requires its own class otherwise. Read more ›
What is .NET Core
It is the start of a new era of making software in the Microsoft ecosystem. This restart pushes the .NET where it was originally intended to be. Its purpose is simple – reaching every platform and every operating system with C# language from Visual Studio. So why did it take so long? Well, this goal is everything but simple. Only C++ language has been able to do that. The .NET is evolution of C++ & COM world. Today .NET finally supports native compilation. Read more ›
Overview of the .NET Framework
The .NET is a very large framework and sometimes is hard to decide whether to code something or use an existing component of the framework. Sometimes is faster to code, but when production workload and reliability comes into play, the perspective is different. An overview of what .NET offers is a fundamental knowledge. It is hard to keep in track because .NET evolves very fast. This article discusses essentials which is the .NET Framework built from. Read more ›
Portable Libraries – jedna knihovna pro všechny platformy
Portable Class Library je univerzální .NET knihovna. Je užitečná pro sdílení kódu například mezi WPF, Windows Phone a Metro style aplikacemi. Může obsahovat vše, co je pro platformy, pro které je určená, společné. Díky doplňku pro Visual Studio 2010 je možné ji začít používat ihned. Jelikož se platforma .NET poslední roky poněkud tříští, je Portable Library velmi vítaný tmelící prvek. Už není nutné kompilovat knihovny pro různé .NET platformy. Celý článek ›
Portable Libraries – single library for all platforms
Portable Class Library is a universal .NET library. It is designed for sharing source code for example among WPF, Windows Phone and Metro style applications. It may contain everything common from target platforms. Thanks to the Visual Studio 2010 extension you can start use it immediately. Due to .NET Framework fragmentation the Portable Library is welcome unification element. It is not necessary to compile libraries against multiple .NET platforms anymore. Celý článek ›
Double layered application with PowerShell in the middle
There are several reasons why use PowerShell. The most significant advantage is ability to use script instead of user interface. PowerShell is for administrator almost the same environment as a console application for developer. When the core of your application is highly independent so it is extreme easy build a console application based on it consider using PowerShell layer. Read more ›
SQL Server Compact 4
Microsoft minulý týden vydal novou verzi své embedded databáze. Předešlé verze této databáze se používaly jen s desktopovými aplikacemi. Nebyla vytvořena tak, aby mohla obsluhovat více požadavků zároveň. To se v nové verzi změnilo. Dá se bez obav z pádu či uváznutí používat z více vláken současně. Tím se pole její působnosti výrazně rozšířilo o nasazení na webových serverech. Databázi není potřeba instalovat, stačí pouze zkopírovat několik souborů. Celý článek ›