
Latest · Aug 25, 2026
Stop Retrying the Unretryable: Permanent Failures in Durable Functions
Learn how to build a Durable Functions retry policy based on exception type, so permanent errors short-circuit instead of burning every retry attempt.
Every post on the blog: war stories from real .NET, Azure, Microsoft Graph and SharePoint projects, with the code, the failures and what the docs left out.

Latest · Aug 25, 2026
Learn how to build a Durable Functions retry policy based on exception type, so permanent errors short-circuit instead of burning every retry attempt.

Learn how to query SharePoint lists beyond the 5,000 item list view threshold in CSOM with AllowIncrementalResults, paging and indexed columns.
#sharepoint

Learn which SharePoint queries survive the 5,000 item list view threshold, with CAML joins, CSOM, REST, Graph and $batch measured on a 10,000 item list.
#sharepoint

Learn how deterministic orchestration instance IDs stop Service Bus redelivery from starting the same Durable Functions provisioning twice.
#azure-functions

Learn how a CAML join across SharePoint lists linked by lookup columns compares with separate queries, OData expands and Graph, measured on the same data.
#sharepoint

Learn how to write multi-value lookup and person columns on SharePoint list items with Microsoft Graph, using the LookupId array syntax the docs never show you.
#sharepoint

Learn how to make every Durable Functions activity idempotent so retry policies can safely rerun SharePoint and Graph provisioning steps.
#sharepoint

Learn when to use CSOM, SharePoint REST or Microsoft Graph for SharePoint work, and which operations each one silently refuses to do.
#sharepoint

Learn why I'm still on PnP.Framework instead of PnP Core, the two blockers holding the migration back, and what has to land before I make the jump.
#sharepoint

Learn how to keep third-party API keys out of the browser by proxying SPFx web part calls through an Azure Function that swaps in the secret server-side.
#sharepoint

Learn how to checkpoint a Durable Functions orchestration so a failed SharePoint provisioning run resumes where it stopped instead of starting over.
#sharepoint

Learn what Azure Durable Functions are and what they can do, using a SharePoint site provisioning workflow as a real-world example.
#azure-functions

Learn how to forward the browser's If-None-Match header to Azure Blob Storage with BlobRequestConditions, so unchanged files never leave storage at all.
#csharp

Learn how a single Azure Function with a catch-all route can proxy an entire static website out of a private Blob Storage container, with auth in front of every file.
#csharp

Learn how to store Outlook add-in user preferences in the OneDrive App Folder via the Graph approot endpoint, so settings roam across every device.
#microsoft-graph

Learn how to fall back to the Microsoft Graph MIME endpoint when getAsFileAsync isn't available in Outlook on mobile, so your add-in keeps working everywhere.
#microsoft-graph

Learn how to get MSAL tokens inside Outlook on mobile with Nested App Auth (NAA), from the brk-multihub redirect URI to acquireTokenSilent with a loginHint.
#authentication

Learn how to speed up SharePoint CSOM with five proven techniques - batching, CAML joins, change detection, server-side exception handling, and fast taxonomy loading.
#sharepoint

Learn why declaring a low Mailbox requirement set in your Outlook add-in manifest is the key to mobile support, and how to feature-detect newer APIs at runtime.
#outlook-add-ins

After testing with DevProxy, I found that monolithic PnP templates silently destroy your retry strategy. Here's what I learned.
#sharepoint

Learn how to create SharePoint News Link pages with a banner image using the Microsoft Graph Beta SDK in C# — including the multipart upload the official documentation leaves completely undocumented.
#sharepoint

Learn how to create Microsoft 365 groups programmatically with the Graph SDK in C# without sending a welcome email flood to every member.
#sharepoint

An undocumented but effective approach to dramatically speed up CSOM taxonomy field loading when dealing with SharePoint list items that have many terms.
#sharepoint

The SharePoint API call that wasted resources is now optimized with smart change detection, reducing unnecessary updates and costs.
#sharepoint

Discover how SharePoint's ExceptionHandlingScope can optimize your API calls, reduce costs, and enhance performance with server-side exception handling.
#sharepoint

Learn how to effectively debounce SharePoint webhooks to optimize performance and reduce unnecessary operations when users frequently click save.
#sharepoint
Learn smart retry logic for Microsoft Graph batching to optimize API calls, reduce throttling, and enhance user experience.
#sharepoint

How to handle Graph batching when downloading file content and mapping responses back to original requests
#sharepoint

Learn how to dramatically improve CSOM performance by batching operations instead of executing them one by one
#sharepoint

Discover how to simulate Microsoft Graph and SharePoint throttling locally using DevProxy, and prevent production slowdowns before they happen.
#sharepoint

Learn how to efficiently query multiple SharePoint lists using CAML joins instead of multiple API calls to avoid throttling
#sharepoint

Learn how to authenticate to Microsoft Graph in C# with ClientCertificateCredential, with working snippets for both the v4 SDK and the v5/v6 SDK.
#sharepoint

Learn to authenticate C# applications with PnP.Framework and Azure using certificates in this beginner's guide to app registration and permissions.
#sharepoint

Learn how to download multiple SharePoint files as a zip from C# code, using Graph batching to fetch them and streaming each to disk instead of into memory.
#sharepoint

We've all tried creating a SharePoint list without using Content Types from the start. It seems like the quick solution, but it can lead to challenges later when restructuring the list. This post explains why using Content Types from the beginning is a smart move that can save time and hassle in the long run.
#sharepoint

Learn how to build an SPFx wrapper component that shows or hides content based on Microsoft 365 group membership, using getMemberGroups and a session cache.
#sharepoint

Learn how to move Web API logging out of every controller method and into one C# attribute built on IActionFilter, logging the controller and its parameters.
#csharp

Easiest way to keep track of which changes have been made to an object, and likewise, who has carried out these changes.
#csharp

#sharepoint
No posts match — try another search or tag.