15 topics · 33 posts

Topics

Every topic on this blog, from SharePoint CSOM performance to Azure Event Grid, each with the posts that go deepest on it.

Thirty-odd posts, grouped by the problem they solve rather than the month I wrote them. The bigger clusters have a starting point marked; the smaller ones are just the posts I have so far.

24 posts

SharePoint Development

Real SharePoint development problems in C#: provisioning, list items, navigation, content types and the API costs nobody warns you about.

22 posts

C#

Everything on this blog written in C#: Microsoft Graph and CSOM client code, Azure Functions, reflection tricks, and the .NET side of Microsoft 365.

7 posts

SharePoint CSOM Performance

Batching, CAML joins, change detection and ExceptionHandlingScope: how to stop SharePoint CSOM making tens of thousands of API calls it never needed to make.

11 posts

Microsoft Graph in C#

Microsoft Graph from .NET: batching and mapping responses back to requests, rich notifications, throttling, and the SDK behaviour the docs leave out.

12 posts

Microsoft 365 API Performance

Making Microsoft 365 APIs faster and cheaper: batching, caching, ETags, change detection, and what a wasted API call actually costs you.

7 posts

Azure Functions for Microsoft 365

Azure Functions as the backend for Microsoft 365 work: proxies that hide tokens, blob caching with 304s, Event Grid handlers and long-running provisioning.

3 posts

Durable Functions

Durable Functions in practice: checkpointing, idempotent activities, deterministic instance IDs, and telling a permanent failure from a transient one.

4 posts

Outlook Add-ins on Mobile

Outlook add-ins that survive mobile: requirement sets that lie about their version, Nested App Auth without a popup, and falling back to Microsoft Graph.

5 posts

Authentication and Authorization

Getting a token and keeping it safe: MSAL and Nested App Auth, PnP.Framework and Graph SDK auth, Easy Auth, and keeping third-party keys out of the browser.

4 posts

SharePoint Provisioning

Provisioning SharePoint sites that survive contact with reality: PnP templates, eventual consistency, navigation, content types and Durable orchestrations.

4 posts

PnP Framework and PnP Core

Working with the PnP libraries: template sizing and resilience, authentication, nested navigation, and what is still missing in PnP.Core.

1 post

Graph Webhooks and Notifications

Change notifications from Microsoft 365: rich notifications that carry their own metadata, validating and decrypting payloads, and debouncing users who cannot stop clicking save.

3 posts

Throttling and Rate Limits

What happens when Microsoft 365 says 429: smart retry logic that is not just retrying everything, Retry-After, and testing your limits before production does.

2 posts

Dev Proxy Recipes

Using Dev Proxy to break Microsoft 365 APIs on purpose: simulating throttling and failures locally so you find out before your users do.

3 posts

C# Reflection and Attributes

Reflection and custom attributes in C#: logging without boilerplate, mapping entities to lists, and generating audit trails from type metadata.