If like me, you are fascinated by science, you’ll possibly know a little bit already about the strange phenomena of quantum mechanics. Concepts like superposition, entanglement, and teleportation are all things that seem like they should be impossible but have been proven time and time again in the lab. Yes, things do behave very strangely…
Tag: .NET Core
IIS (Internet Information Services) remains a widely used web server for hosting websites, FTP (File Transfer Protocol) sites, and other applications on Windows servers. While the graphical IIS Manager interface is great for setting things up initially and for providing a visual overview of your web configuration, there are also some great use cases for…
Have you ever come across the need to use more than one version of an assembly within the same .NET application? Assembly loading can be a somewhat tricky subject when there are multiple versions of the same assembly for a .NET application to choose from. This can result in problems for both static assembly references…
Downloading files programmatically is a common task that most programming languages expose different APIs for. I believe it is useful to have examples to refer to for how to accomplish this in your language of choice, both synchronously and asynchronously. This article covers how to download files with C# using the classes and methods that…
Many apps today need to store data locally on the device they are running on in order to allow the user to continue to perform useful functions while offline or when network connectivity is unreliable. SQLite is an ideal solution for both simple and complex local data storage requirements. Whether you are storing small sets…
The Request-Response pattern seems somewhat simple on the surface; send a request, then wait for and receive a response that matches up with the original request. However, implementing this pattern in an efficient manner is something that is easy to get wrong. I’ve found that much of the material online regarding this topic tends to…
As software developers, working with processes is something that we frequently need to do. Whether it’s checking if a specific process is running, stopping a process, or creating a new process, it is useful to have a reference point for how to accomplish each of these tasks. In the sections below, I’m going to cover…
InSecurity
It is very common that an application will need to store settings in a configuration file and then later retrieve the value of those settings. Quite often, one or more of these settings will be sensitive in nature; such as API keys, database connection strings, or perhaps mail server passwords. Protecting sensitive data is a…
InAPIs
Having already introduced the concept of gRPC services and having walked through how to consume a gRPC service using .NET Core, I’m now going to cover the next most fundamental topics; authentication and authorization. For production applications, your API endpoints are normally going to be available publicly and therefore they need to be protected from…
InAPIs
In a prior post, I introduced the key concepts behind using gRPC to develop an RPC service and walked through the process of creating a sample project. In this article, I build on the previously discussed topics by adding an additional service and a client to the sample project. After reading through the content below,…