Authentication of Microsoft Teams MessageCards actions in your API

Being able to create Message Cards or Actionable Messages in Microsoft Teams via a Logic App or an Azure Function is great. Especially if you can use this to invoke logic on your API and update the message in the Teams channel. However, you don't want everyone to invoke a management API endpoint you've exposed to ‘do stuff’ in your cloud environment. Normally, you'd want to authenticate if the user pressing the button (read: invoking the endpoint). Read more →

Warming up your App Service

Warming up your web applications and websites is something which we have been doing for quite some time now and will probably be doing for the next couple of years also. This warmup is necessary to ‘spin up’ your services, like the just-in-time compiler, your database context, caches, etc. I've worked in several teams where we had solved the warming up of a web application in different ways. Running smoke-tests, pinging some endpoint on a regular basis, making sure the IIS application recycle timeout is set to infinite and some more creative solutions. Read more →

Creating a Web API to work with XML requests

For a project on the side I'm creating a Web API which has to parse XML requests in a POST. The first method I've written looks like this: [HttpPost] public HttpResponseMessage IndexPost(RequestModel requestMessage) { return new HttpResponseMessage(HttpStatusCode.Accepted) { Content = new StringContent("This is the POST API response from BusinessPartner!") }; } To test the new API I'm using the Postman Chrome plugin. With this plugin you are able to send requests to an endpoint and see what the response is. Read more →

Creating a self-hosted OData Web API service

Some time ago Microsoft has introduced the ASP.NET Web API framework. It's a framework you can use to create your own RESTful services. It's much like WCF Data Services or WCF RIA Services, but a lot easier to use (IMO). I've never liked the WCF-stack much, probably because configuring it always posed to be a hassle. Using the Web API framework is much easier and you have to configure a lot less, or at least I haven't found all of the configurable options yet. Read more →