.NET - 2018

Reloading the cache automatically once expired is ASP.NET MVC

Load values to in memory cache as soon as they expire in ASP.NET MVC
In memory caching is not a bullet proof way of caching data in an application, especially if this application is distributed. The lack of synchronization between nodes can cause you application to misbehave showing wrong data or even throwing exceptions and crashing. This is one of the main reasons why distributed caching is the best way of doing the caching in your web application. But not all applications you might be developing need to run as distributed on multiple machines...read more

Get most visited pages of your website from Google Analytics using C#

List most visited website pages from Google analytics in your .NET application code
If you have a website like this one with articles and you would like to suggest most visited articles to your visitors, there are few ways to do this. One of them is definitely a custom solution that can track and store count of every visit per page you have, or without any re-inventing of wheel you can just hook to Google Analytics API to pull the data...read more

Creating Windows service and Linux daemon with the same code base in .NET

Cross-platform service with C# and .NET Framework
Few months back I wrote an article on how to create Linux daemon in .NET Core using generic host class introduced in 2.1 version of .NET Core. This code works just great on Linux OS when configured as a daemon in systemd and provides more less same concept you would have with Windows Service written in .NET Framework 4.x. The code works just fine on both Windows and Linux hosts, but because it is compiled as a Console Application, you do not really get to run it on your Windows machine as a Service...read more

Minify ASP.NET MVC Core response using custom middleware and pipeline

Html response content minification on the fly in ASP.NET Core
For my website, since it runs on Umbraco 6 and it is basically ASP.NET MVC application. To reduce load time and increase website performances I decided to alternate the response of the application and minify it using simple regular expression. Initially I was trying to do this with YUI Compressor library which has .NET port as NuGet YUICompressor.NET which works fine in most of the cases, but in my case does not skip PRE tags which I use for code snippets on the website...read more

Background working scheduled task in ASP.NET Core MVC application

Using Quartz for scheduling background tasks in .NET Core MVC applications
Caching common data like lookups for example in memory of your app can increase significantly your MVC web application performances and response time. Of course this data has to be periodically refreshed. You can use various approaches to refresh data including expiry, but this can create potential bottle necks in your application since once data expires, you will use request thread to pull the data, cache and serve the request response back...read more

Simple pixel conversion tracking implementation in ASP.NET Core WebApi

Conversion tracking implementation using pixel method in ASP.NET Core
Pixel tracking, although it is the oldest method for tracking conversions in marketing, it is still used widely and some big companies like Facebook are still overing it as one of the methods for tracking the conversions of on your web pages. Tracking conversion via pixel method is still widely used because of it's simplicity. It does not require any complex client side implementation ant thee fore it ensures that it will execute on pretty much all the browsers that can load images...read more

Limit number of tasks running at the same time in .NET

How to throttle number of running tasks to a specific number in C#
Limiting the number concurrently running Tasks is not that often requirement in a code, but eventually you'll find yourself in the situation that for the most likely performance issues you'll have to limit number of concurrently running Tasks. One of these situations is when you have long running operations in the Task. If you spin up to many Tasks you will seriously degrade your application performance...read more

Differences in Time Zone Formats in .NET Core on Windows and Linux host

Overcoming TimeZoneInfo load problem on different operating systems in .NET Core
Recently I was working on converting DateTime value to a different time zone because the servers are running in a different time zone than the database where data is stored. Storing DateTime values in UTC time zone is the best practice, so simple DateTime.ToUniversalTime method call solves the problem. But what in case you need to save in the specific timezone and your different server where you application is running on...read more

Token based authentication and Identity framework in ASP.NET Core - Part 3

Setting up asymmetric key token based authentication in ASP.NET Core application on top of Identity Framework
Recently I wrote about setting up .NET Core Identity Framework and Token based authentication in ASP.NET Core using symmetric key signing. The downside of this approach is that both identity and resource server share the same key for signing and validating the token...read more


read more


read more

Umbraco CMS

read more


read more