Use a readiness probe to warmup your docker container and check the health of your container with a health probe
When running your ASP.NET core container/application you probably noticed that the first requests take longer on average. The cause of the longer request can be normal application loading and/or logic you have written that must initialize on your first call. It would be nice to warm up your container before a customer call is handled by your container. Kubernetes gives you the possibility to use a readiness probe to check and warm up your application.
Continue reading “ASP .NET Core docker container warmup and liveness probes”
After announcing changes on the screen with LifeRegionChanged, I found how I can use ItemStatus to do something similar for the focused element. Using ItemStatus can be used to keep track of the status of an element and announce status changes on the element. In this post, I’ll give a sample of validation on a TextBox and explain how to use AccEvent.exe tool to see the accessibility events.
Continue reading “Announce changes with ItemStatus WPF”
Status changes announced in WPF
In this blog post, I want to discuss how to make status changes on the screen accessible to users with a screen reader. In this case, the user started a process and as time passed, the process when through a number of states. When the state changes the narrator should announce that to the user.
Continue reading “Narrator announce status changes”
WPF, hide collapsed content to be ignored by the narrator
Last week, I worked on some accessibility issues. One of them was the windows narrator reading collapsed content. Hidding the content from the narrator was a little harder than I would have expected when starting working on the issues.
Continue reading “Narrator reads collapsed content”
This post will explain to you how to optimize your worker size when you need a failover scenario for container failure or worker failure.
Recently we have created a k8s cluster to host our Microservices architecture. In this blog post, I like to share how we calculated the number of worker machines we needed and which considerations are to take into account.
Continue reading “How many workers in a Docker cluster”
Use accept headers to return new formats like CSV from an ASP.NET Core Rest service
ASP.NET Core does support out of the box JSON, XML, or plain text formatters based on the ACCEPT Header. In this post, I’ll explain how to specify other formatters and return them based on the ACCEPT Header. As an example, I use a CSV formatter to return a CSV formatter. A controller method returns the format based on the ACCEPT Header which is specified by the client. This can be very useful in cases where you need to export your data to Excel, and the use of more formats makes your application more accessible.
Continue reading “ASP.NET Core Web API custom formatters”
Building .NET Core console applications with IHost and HostBuild to take advantage of IHostedService, graceful shutdown, dependency injection, logging, hostbuilder, configuration and more.
When building services for data processing you do not always need a user interface. An IHost is very capable of hosting such an application in a console application as headless service. The IHost does give you a number of advantages like graceful shut down, dependency injection, logging, and configuration. When running long processing tasks in Docker containers, graceful shut down helps you to keep the state of your application consistent. This post explains how making use of the generic IHost in .NET Core for headless services.
Continue reading “Hosting services in .NET Core console application”
Use the new HttpClientFactory to create HttpClient objects in ASP.NET Core. Learn how to create Named or Typed HttpClient instances.
With .NET Core 2.1 the HttpClientFactory is introduced. The HttpClientFactory is a factory class which helps with managing HttpClient instances. Managing your own HttpClient correctly was not so easy. The HttpClientFactory gives you a number of options for easy management of your HttpClient instances. In this post I’ll explain how to use the HttpClientFactory in your ASP.NET Core application.
Continue reading “HttpClient and HttpClientFactory in ASP.NET Core”
Enable Soft-delete for Key Vault to be able to recover from disaster, recover keys, secrets, certificates or the whole Key Vault on accedental deletion.
Last week we had an incident in which we had deleted the wrong secret from our Azure Key Vault. After some research we found that it could have been recovered if we had used the Soft-delete in Key Vault. However, we did not know about this option and could not recover the item.
Continue reading “Azure Key Vault recover keys, secrets and certificates”
Check the operating system .NET Core is running on. Sometimes there are small differences when running on Linux or Windows. Discover your OS without exceptions.
There are a few cases where it is very useful to know the OS your .NET Core application is running on. One of those cases is when you need to set a time zone. Each OS does have its own naming of time zones. You can just try and catch the exception and then retry for another OS, however, if you know the OS, then it is far nicer to do this without exception handling.
Continue reading “.NET Core, what is my OS”