Sharing my best software development tips and tricks. From quick tips to actual guides and solutions.
I was setting up a PostgreSQL database in Azure, to be used by a cutesy little Azure Function storing telemetry from a bunch of Azure IoT Edge Devices. But when everything was (supposed to be) configured successfully, my Azure Function failed to store anything anywhere because of a missing database… Oh, right. Entity Framework can’t create PostgreSQL databases, as the connection is made to an existing database – so it can’t be instantiated if the database doesn’t exist on the server already. So, what do…Continue reading How to configure Azure PostgreSQL to allow Cloud Shell connections?
This article explains a quick fix to a small but annoying issue: Microsoft Graph API SDK persistently returning null values for most properties of your Microsoft.Graph.User objects. The issue might happen when using either the Graph API SDK or just calling the REST API directly. Both options are entirely acceptable, and in both cases, you’re not getting the properties you wanted. Well, I wasn’t, anyway. Problem The other day, I was developing a thingie that needed to fetch fields like Department from Azure AD. The…Continue reading How to fix Graph API returning null properties for Users?
This is something that comes up pretty often – when you’re building an application, or maybe a library you’re sharing as a NuGet package to your friends: You’ll need to share a dependency or two with your particular package, and you don’t want your end users having to reference those libraries, too. Sounds easy, right? But alas, it’s not as simple as one would like :) (Well, unless you’re happy running dotnet publish every time – that should work, but I want to have these…Continue reading How to copy dependent assemblies to the bin folder on build?
In this article, I’m listing the quick fixes to your Azure Functions suddenly throwing seemingly random and very unexpected CORS errors. I have run into this so many times that I had to list these (admittedly simple) fixes in order of importance purely for myself – but perhaps some of these will help you as well! 😁 CORS issues can be frustrating but the issue is usually, simple to fix – as long as you know what you are doing. But first, let’s take a…Continue reading Azure Functions suddenly throwing CORS errors when ran locally? Easy fix(es)!
Here is another fun one for the books! In this article, I will explain how to fix a problem with the Azure IoT Edge dev simulator, when it fails to start due to an underlying problem with Docker not having access to your defined ports. This will probably happen to one of the ports used by the Edge Hub system module by default – 5671, 8883, or 443. Problem So, when you’re trying to run an Azure IoT Edge solution in the simulator, you get…Continue reading How to fix “Cannot start service edgeHubDev: Ports are not available: listen tcp 0.0.0.0:8883”
Another one in the series of “random things that break when you try to run Docker on Windows”! I was just minding my own business, trying to run an Azure IoT Edge custom module – a Docker container, really – locally, when suddenly everything broke and one of my Docker containers wouldn’t run anymore, which broke the rest of my stuff pretty badly. Instead, it failed with a cryptic and surprising error “exec user process caused: no such file or directory”. So, let’s take a…Continue reading How to fix “exec user process caused: no such file or directory” in Docker on Windows?
This article explains how to achieve that nice configuration where you can reuse your .NET EF Core (Entity Framework Core) entities in different projects – even being separate from the project holding your DbContexts! You might want to do this if you have a common data model between a number of very different projects – but you will still need to have a way to add new migrations, apply the current ones to a database or possibly remove deprecated migrations. You can do this both…Continue reading How to run EF Core commands when your entities are in a different project from your dbcontext?
One more article before Christmas! 😁 This time, I’ll be fixing a function that’s triggering based on new messages received through my IoT Hub in my Azure Functions project. Technically speaking, this is super simple to implement – your function needs to define an IoTHubTrigger, with an Event Hub name and usually a Connection String (I don’t know why I’m Sentence Casing that, too, but I’ll stick to it!) You can tap a practically unlimited number of Azure Function triggers to any Event Hubs (or…Continue reading How to fix “Microsoft.WindowsAzure.Storage: Server encountered an internal error. Please try again after some time.” when using IoTHub trigger for Azure Functions?
Another one in the series of “this should’ve been easy, but alas, you’re the edge case”. “You” being “me”, and the “edge case” being our internal npm feed (registry), for whatever reason. Ah, well – life would be extremely boring if everything always went according to documentation, right? So, instead of the built-in ways to access npm feeds, this solution includes some PowerShell. Ah – that’s when you know it’s going to be good, right? When someone goes as far as to throw away the…Continue reading How to authenticate against npm registries in Azure DevOps?
So a while back I posted about testing your “vanilla” WebSockets connection directly in the browser – and while that’s nice and easy, sometimes you need to class up a bit. In my case that meant upgrading to SignalR (for some corporate and enterprisey reasons as usual). It makes sense to leave behind the easy, simple, lightweight and somewhat transparent WebSockets to “upgrade” to the enterprise-ready (and arguably quite a lot less transparent) SignalR? Well – I went through that, and since I needed to…Continue reading How to test SignalR-connection in the browser?
So, a while ago I posted about a fairly simple way to write your code for fetching secrets (and other confidential stuff) from Azure Key Vault in such a way, that it would work the same way both in Azure and on your local dev box. I find this pretty important, as it reduces the need for weird workarounds and fallbacks in your code, and at the same time enables you to harness the Azure Key Vault for that sweet spot of “good enough security…Continue reading How to update from deprecated Microsoft.Azure.Services.AppAuthentication to new and shiny Azure.Security.KeyVaults.Secrets?
This article explains how to fix an issue where your Azure Functions function (yes, that’s a capital F and a lowercase f to denote the difference between the product and the piece of compute) fails to fire when a POST request comes in, even though it’s configured to do so, and instead throws a somewhat confusing error message about HttpRequestMessage not being castable to HttpRequest – even though you KNOW HttpRequestMessage works just fine for receiving POST requests with payload! So, why is this happening…Continue reading How to fix “Unable to cast object of type ‘System.Net.Http.HttpRequestMessage’ to type ‘Microsoft.AspNetCore.Http.HttpRequest’.”
Azure Key Vault is great. But when developing locally, it can be a bit of a pain. You can always circumvent it and create some classical solution, such as simply wrapping all of your key/secret assignments in if-else-clauses that will use local configuration if you’re running locally and only call the Azure Key Vault if you’re in the cloud… But that feels so incredibly early-2000-ish. Isn’t there a better option available? I mean – obviously, there is! And we’ll see how it works in just…Continue reading How to authenticate against Azure Key Vault both in Azure and local development environment?
This article explains how to fix an annoying issue with Microsoft’s SDK for CosmosDb v3 – it comes with a Newtonsoft.Json dependency, that most of Microsoft’s recent packages have let go of. With .NET Core 3.1 having shipped with System.Text.Json included, and (mostly) replacing Newtonsoft.Json, it’s kind of the preferred option. However, CosmosDb v3 SDK doesn’t support it and by default requires you to use Newtonsoft.Json to override the property names, if you want to – for example – map entities with PascalCase naming with…Continue reading System.Text.Json.JsonPropertyName not working for CosmosDb in .NET Core/5?
Man, do I run into all kinds of issues with the smallest Azure Functions that I develop. And it’s mostly my fault. The silver lining is that you’re here to read this article, so you probably ran into this same stuff. Well – you should be happy to hear that this article describes fixes to a couple of issues – let’s see if they help you out as well! The article probably largely applies to any situation where you have a project referencing another project…Continue reading Errors loading an assembly that’s using Microsoft Graph API
Another day, another issue. This time, I was absent-mindedly following the guidance for a project on how to generate .sql files for .NET EF Core code-first migrations. Don’t ask why that was required, but it was. My migration was simple. Adding an entity with just a few properties. And Entity Framework created my programmatic migration just fine. But when generating the SQL file, I got nothing but an empty file. No matter what my startup project was, – working directory, context, target folder, or other…Continue reading “dotnet ef script” or “Script-Migration” producing empty .sql files?
So one day, I needed to quickly check if an identity field in a view in a Microsoft SQL Server was actually unique or not. I was running into weird issues with Entity Framework throwing an error somewhat like this: Store update, insert, or delete statement affected an unexpected number of rows (2) Or somewhat like this: Type: DbUpdateConcurrencyExceptionStore update, insert, or delete statement affected an unexpected number of rows ([row count]). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540…Continue reading How to form a parameterized SQL query to find duplicates in a table.
This article describes how to configure your .NET Core application to serialize objects in camelCase instead of PascalCase. I guess this is another quick note – something that should be simple, but I couldn’t remember how to do it from the top of my head, and the solution turned out to be a bit unintuitive. I guess that makes it worth documenting because I’ll definitely run into this again. Anyway – let’s take a closer look at the actual issue at hand, shall we? Problem…Continue reading How to serialize to JSON in camelCase using .NET Core?
This article explains another simple fix to an annoying issue. I guess that’s how I start most of my little tutorials, but hey, it’s true! I suppose I just have a knack for running into issues that come with poorly documented fixes or workarounds that are obvious but only in hindsight… Right? Anyway, this time my WebSocket requests were not being handled as such by my ASP.NET Controllers. “IsWebSocketRequest” was suggested by IntelliSense, but it would always be null in the code. What gives? Problem…Continue reading HttpContext.WebSockets.IsWebSocketRequest always null in .NET Core?