Lesson 6.4: Refactor Services to Consume Multiple Repositories

In the previous lesson, we created a new BlobStorageReadRepository and exposed various typed instances of it through our RepositoryFactory. Today, we are going to update our FunctionServiceHelper to switch between target repositories based on a query string parameter. This will allow us to easily test our game services using different back end Azure storage solutions. … Continue reading Lesson 6.4: Refactor Services to Consume Multiple Repositories

Lesson 6.3: Create Blob Storage Repository

In Chapter 5, we created a repository interface (IReadableRepository) and repository implementation (InMemoryReadRepository) that loaded data from embedded resource files. We designed our system with these abstractions because we want to try out several Azure storage technologies, and the repository interface gives our service code a measure of isolation from the data implementation technologies. As … Continue reading Lesson 6.3: Create Blob Storage Repository

Lesson 6.2: Create Blob Storage Container

Azure Blob Storage is an option for saving raw files in containers that can be retrieved and read in our services. We can use a storage account and container to hold our data files. They can be updated by tools, uploaded by the operations team, or edited in Azure directly. Then, the data becomes available … Continue reading Lesson 6.2: Create Blob Storage Container

Lesson 6.1: Introduction to Azure Storage Options

In this chapter, we will investigate various Azure Storage options for our game services. In the previous chapter, our service just read data from resource files. That isn't very useful for most services, but it allowed us to focus on understanding Azure Functions without getting into storage complexities. However, Azure provides many storage capabilities. All … Continue reading Lesson 6.1: Introduction to Azure Storage Options

Lesson 5.18: The Wrap

Over the course of this chapter we learned quite a bit of new technology and patterns. This chapter really focused on taking our SimpleRPG game to production in Azure and learning how to use Azure Function to build RESTful web services. We moved our game from a single, self-contained unit to retrieving game data from … Continue reading Lesson 5.18: The Wrap

Lesson 5.17: Upgrade Blazor Project and Dependencies to .NET 5

With the release of .NET 5, it is time for us to upgrade our simple-game solution to the latest version of .NET. Luckily .NET 5 is actually the next progression of .NET Core 3.1, so there aren't many major breaking changes to get this to work. We need to get onto the latest versions because … Continue reading Lesson 5.17: Upgrade Blazor Project and Dependencies to .NET 5

Lesson 5.16: Redeploy SimpleRPG Game to New Storage Account

Our game is now dependent on our Azure Function web services. All of the local game data has been deleted, so the game no longer runs standalone, and it will not launch if it doesn't have an internet connection during startup. However, since we load and cache the game data from the web services at … Continue reading Lesson 5.16: Redeploy SimpleRPG Game to New Storage Account

Lesson 5.15: Retrieve Remaining Game Data from Services

Lesson 5.14 laid out the detailed description of the changes required to update ItemFactory to fetch ItemTemplate data from our game services. In this lesson, we're going to update the remaining factories to provide the same functionality. We will use the same patterns we did for ItemFactory and make use of the GameServiceClient to communicate … Continue reading Lesson 5.15: Retrieve Remaining Game Data from Services

Lesson 5.14: Use Service Client to Retrieve ItemTemplates From Game Services

In this lesson, we will refactor the ItemFactory to use the GameServiceClient to load item data from our game services rather than from the local resource file. We will fetch the ItemTemplates during the application startup so that any latency is part of the launch. We already have loading logic and a progress indicator at … Continue reading Lesson 5.14: Use Service Client to Retrieve ItemTemplates From Game Services