Blog

Discover the latest insights, tutorials, and updates from our team. Stay informed about web development trends, best practices, and innovative solutions.
8. Architecture Overview
C#, ASPNET Core, Multi-tenancy

8. Architecture Overview

Before we delve further into the project, it's essential to discuss the architectural overview. As previously mentioned, a key requirement is the implementation of multi-tenancy. The goal of the project is to enable the seamless execution of Windows Compatibility Tests for various organizations or departments within a company.
Han Chee

Han Chee

7. Create, Update, Read and Delete for Applications (CRUD)
Entity Framework, C#, CRUD

7. Create, Update, Read and Delete for Applications (CRUD)

In this post, we will explore the implementation of CRUD (Create, Read, Update, Delete) operations for Applications. As we continue, we will also delve into the world of Code First Migrations and tackle some common issues that can arise during the migration process.
Han Chee

Han Chee

6. Persisting with Entity Framework Core
Entity Framework, C#, LocalDB

6. Persisting with Entity Framework Core

In a previous post, we learned how to implement functionality for the Add, Edit, and Delete actions. However, it's important to note that any changes made will be lost once the project is no longer running, as we are using a static variable, OrganizationsData, which is not persisted.
Han Chee

Han Chee

5. Actions for Organizations (Tenants)
C#, Razor Page, ASPNET Core

5. Actions for Organizations (Tenants)

In our previous post, we introduced a Razor Page tailored for tenants, featuring three essential action buttons: Add, Edit and Delete. In this post, we'll delve into the implementation of these buttons' functionalities.
Han Chee

Han Chee

4. UI for Organizations (Tenants)
C#, UI Design, ASPNET Core

4. UI for Organizations (Tenants)

If we recall from the previous post, one of the requirements is to incorporate a multi-tenancy feature into our project. In this article, I will focus on the presentation level for tenants.
Han Chee

Han Chee

3. Implementing Basic Authentication in Razor Pages Without a Database
Authentication, Authorization

3. Implementing Basic Authentication in Razor Pages Without a Database

Creating our first project using ASP.NET Core
Han Chee

Han Chee

2. Our first ASP.NET Core project
ASPNET Core, C#, Visual Studio

2. Our first ASP.NET Core project

Creating our first project using ASP.NET Core
Han Chee

Han Chee

1. Introduction To Smoke Testing
ASPNET Core, Windows Compatibility

1. Introduction To Smoke Testing

Why and what is smoke testing?
Han Chee

Han Chee

A note of caution on GCC’s uninitialized variables
C, GCC, VS Code

A note of caution on GCC’s uninitialized variables

Recently, I have started my journey to learn C programming using Visual Studio Code and Mingw-w64. What is Mingw-w64? It is created to support GCC compiler on Windows systems. GCC is the GNU Compiler Collection and GNU (stands for GNU’s not Unix) is key component to help build operating systems like Linux.
Han Chee

Han Chee

Peculiar case of “Unable to connect to web server ‘IIS Express'”
Debug, ASPNET Core, IIS

Peculiar case of “Unable to connect to web server ‘IIS Express'”

There was one particular ASP.NET Core project that I have left it for quite a long time. Therefore, I would need to refresh my memory in order to understand how it works by first running it in debugging mode in Visual Studio 2017. To my suprise, as soon as I pressed F5, there was a popup error as below:
Han Chee

Han Chee

How to access your localhost website from external LAN?
Debug, ASPNET Core, IIS, CMD

How to access your localhost website from external LAN?

I was trying to access my localhost ASP.NET Core MVC website from another computer which sits in different LAN. Thus, I tried to google around and it does show some good solutions, however, I would need to refer to multiple places to get the final solution. So, I thought I could just compile them in one single post, in case there are some people looking for one-stop solution. FYI, This solution is only for Windows 7 or Vista.
Han Chee

Han Chee

How to use ASP.NET Identity with ASP.NET Web Service and ASP.NET MVC?
C#, ASPNET Core Identity

How to use ASP.NET Identity with ASP.NET Web Service and ASP.NET MVC?

ASP.NET Identity is much more powerful than legacy ASP.NET Membership which includes the support of external authentication from 3rd party providers. In one of my projects, I have an ASP.NET MVC app communicating with another ASP.NET Web Service app which contains all core business logic and data access. The MVC application essentially is just another Presentation Layer which handles simple rule processing. While I was trying to migrate to ASP.NET Identity, I was stuck on trying to decouple database access from ASP.NET Identity, specifically the SignInManager class in the MVC application.
Han Chee

Han Chee

How to mock ASP.NET Core Identity?
C#, ASPNET Core Identity, MOQ

How to mock ASP.NET Core Identity?

Learn how to mock ASP.NET Core Identity.
Han Chee

Han Chee

Generate absolute URLs in ASP.NET MVC
C#, SEO, ASPNET, URL, Absolute URL

Generate absolute URLs in ASP.NET MVC

Learn how to generate absolute URL to improve your SEO.
Han Chee

Han Chee

Using Debug Diagnostics Tool To Analyze Hang Issue
Debug, SQL, IIS, Windbg, ADPlus

Using Debug Diagnostics Tool To Analyze Hang Issue

Just arrived at the office, without breakfast, I had complaint from boss that our website was very slow. Looking at the website, it was very slow indeed, only after a good few minutes, the website only started to load some texts barely while you still can see the rolling icon on web browser’s tab.
Han Chee

Han Chee

How to become a manager?
Career

How to become a manager?

Nowadays, technology has become an integral part of any organization, for instance, manufacturing, marketing, operation and so no. Therefore, it is fair enough to conclude that technical experts have become an important factor for a company or organization success.
Han Chee

Han Chee

My journey of using Join, GroupJoin and GroupBy – Part 2
C#, SQL, LINQ

My journey of using Join, GroupJoin and GroupBy – Part 2

As I continued doing my migration process to convert my existing project from ASP.NET Web Form to ASP.NET MVC using Entity Framework from my previous post, I had abit of issue with SQL LEFT JOIN. Basically, the SQL keywords return all records from left table and matched records from right table. NULL is returned from right side if there is no match.
Han Chee

Han Chee

My journey of using Join, GroupJoin and GroupBy – Part 1
C#, SQL, LINQ

My journey of using Join, GroupJoin and GroupBy – Part 1

As I was doing a migration process to convert existing project from ASP.NET Web Form to ASP.NET MVC using Entity Framework, I came across a bunch of SQL statements. Yeah, I know, we should not have any SQL statements in C# codes. Thus, while I was going thru all my codes to remove all SQL statements.
Han Chee

Han Chee

How to improve as programmer?
Career

How to improve as programmer?

In the wake of ever changing technology, there are still lot of new technical knowledge that programmers need to grasp. In short, it’s essential for programmers having this capability of quickly grasping new knowledge as it will determine their level of career development and outlook. The most important and fundamental skillset for programmers are learning ability and ability to analyze and solve problems.
Han Chee

Han Chee

Programming is like Cultivating
Career

Programming is like Cultivating

The similarities between programming and cultivation.
Han Chee

Han Chee

Why I love Auto-Implemented Properties?
C#

Why I love Auto-Implemented Properties?

How to write shorter code for C# properties?
Han Chee

Han Chee

Benchmark Programs in C#
C#, Benchmark

Benchmark Programs in C#

Learn how to benchmark your code in C#. Why shouldn't we optimise too early? Benchmarking encourages careful thinking about your code.
Han Chee

Han Chee

Code Cultivation • © 2025