Full-stack static typing with OpenAPI TypeScript and Microsoft.AspNetCore.OpenApiThis post will show you how to write full stack applications with static typing from back to front using OpenAPI, TypeScript and .NET.John Reilly·Jan 2·8 min readFollowswaggerc#azuretypescript
Keeping front end and back end in sync with NSwag generated clientsBy generating clients from OpenAPI specs, it is possible to have integration tests that check your front end and your back end are aligned. This post will show you how to do that using NSwag.John Reilly·Oct 12·6 min readFollowswaggerc#azuretypescript
Serialising ASP.NET method calls for later executionHow can we take a method call, serialise it, perhaps store it in a database, and then later rehydrate and execute?John Reilly·May 12·5 min readFollowazurec#
Large Language Models, Open API, View Models and the Backend for Frontend PatternTo integrate LLMs with APIs, there is a need for the LLM equivalent of view models and the backend for frontend pattern. This discusses it in the context of Semantic Kernel.John Reilly·May 3·7 min readFollowazurec#ai
Using Kernel Memory to Chunk Documents into Azure AI SearchTo build RAG (Retrieval Augmented Generation) experiences, where LLMs can query documents, you need a strategy to chunk those documents. Kernel Memory supports this.John Reilly·Apr 21·8 min readFollowazurec#asp.netai
Azure Cosmos DB: container items and genericsLearn how to use generics to store and retrieve different types of object in an Azure Cosmos DB Container. And how to deserialize the data property into a C# object of a specific type.John Reilly·Apr 1·5 min readFollowazurec#
Snapshot log tests in .NETThis post demonstrates how to write high quality and low effort log assertions using snapshot testing.John Reilly·Dec 20·6 min readFollowasp.netc#automated testing
Graph API: getting users Active Directory group names and ids with the C# SDKLearn how to get the Azure Active Directory group names and ids from the Graph API using the C# SDK.John Reilly·Nov 23·6 min readFollowauthazurec#asp.net
Reverse engineering the Azure Application Insights Transactions URLThis post reverse engineers the Azure Application Insights Transactions URL, showing how to make a link href, using both TypeScript and C#.John Reilly·Sep 3·5 min readFollowc#azuretypescript
ESLint your C# in VS Code with Roslyn AnalyzersESLint provides linting for TypeScript and JavaScript in VS Code. A similar experience is available for C# in VS Code through Roslyn Analyzers.John Reilly·Apr 6·7 min readFollowc#vs codejavascriptasp.net
NSwag generated C# client: Open API property name clashes and decimal types rather than doubleGenerate C# and TypeScript client libraries from OpenAPI / Swagger definitions using NSwag while overcoming language conflicts and numeric types.John Reilly·Oct 31·4 min readFollowc#swagger
Directory.Build.props: C# 9 for all your projectsLearn how to use C# 9 with .NET Core by creating a `Directory.Build.props` file. All projects in the solution will support C#9 with no further steps.John Reilly·Jul 14·2 min readFollowc#asp.net
C# 9 in-process Azure FunctionsLearn to use C# 9 with .NET Core 3.1 Azure Functions in this step-by-step guide by adding new elements to your .csproj file.John Reilly·Jul 1·4 min readFollowc#azure functionsasp.net
NSwag: TypeScript and CSharp client generation based on an APINSwag simplifies APIs by auto-generating OpenAPI specs and clients. Learn to create TypeScript clients from NSwag using a .NET console app.John Reilly·Mar 6·6 min readFollowswaggerc#azuretypescript
Nullable reference types; CSharp's very own strictNullChecksC# introduces nullable reference types similar to TypeScripts `strictNullChecks`. Enabling raises warnings and solves null reference risks.John Reilly·Dec 20·3 min readFollowc#
Task.WhenAll / Select is a footgun 👟🔫The writer warns against LINQ code that causes concurrent API requests and shares plans for better metrics and a development container.John Reilly·Jun 21·6 min readFollowc#
Snapshot Testing for C#Snapshot testing is an efficient test technique for comparing outputs with JSON. Its applicable to C# too, using Fluent Assertions and a helper tool.John Reilly·Nov 17·5 min readFollowc#automated testing
Flexibility Through Immutability, part 2: How and When?Ricardo J. Méndez·Jun 15·10 min readFollowclojureimmutable datafunctional programmingc#
Flexibility Through Immutability, part 1: Why?Ricardo J. Méndez·Jun 13·11 min readFollowclojureimmutable datafunctional programmingc#
Flexibility Through ImmutabilityRicardo J. Méndez·Jun 1·2 min readFollowclojureimmutable datafunctional programmingc#
Concatting IEnumerables in C#Author proposes clean alternatives to `IEnumerable`s concatenation which entail creating custom extensions & using nulls for null-conditional operator.John Reilly·Mar 22·2 min readFollowc#
TFS 2012, .NET 4.5 and C# 6Use C# 6 features on .NET 4.5 with Visual Studio 2015, set MSBuild Arguments and install Microsoft.Net.Compilers on the old build server.John Reilly·Feb 1·1 min readFollowc#asp.netazure devops
IQueryable... IEnumerable... Hmmm...The debate surrounding passing IQueryable<T> as IEnumerable<T> is discussed. Changing the method signature is proposed as a solution.John Reilly·Nov 30·4 min readFollowc#
(Top One, Nice One) Get SortedJohn creates a way to use .NETs LINQ feature to sort JavaScript arrays. The tools allow sorting by one or more criteria.John Reilly·Aug 13·6 min readFollowjavascriptc#
Getting up to speed with Bloomberg's Open API...John documents his experience investigating Bloombergs Open API. He includes a simple C# console application wrapper for the API.John Reilly·Nov 13·6 min readFollowasp.netc#
Giving OData to CRM 4.0The article explains how to create an OData service to access Dynamics CRM 4.0 by using LINQ to CRM provider and WCF Data Services.John Reilly·Sep 24·4 min readFollowc#
ClosedXML - the real SDK for ExcelClosed XML simplifies Excel document creation for developers with its straightforward API, sitting on top of Open XML. A frustration-solver for many!John Reilly·Aug 16·4 min readFollowc#
Making PDFs from HTML in C# using WKHTMLtoPDFCreate PDF reports from HTML with WKHTMLtoPDF, an open source tool that renders web pages to PDF, using a simple wrapper class.John Reilly·Apr 5·7 min readFollowc#
JavaScript - getting to know the beast...Discovering jQuery and advice from Elijah Manor and Douglas Crockford changes Johns initial dislike of JavaScripts quirks.John Reilly·Jan 30·6 min readFollowjavascriptc#