Jeppe Spanggaard
jeppe-spanggaard.dk
Jeppe Spanggaard
@jeppe-spanggaard.dk
Microsoft 365 Developer @ Evobis ApS • 🇩🇰

https://jeppe-spanggaard.dk
Ever wonder what happens when a backend error hits your SharePoint solution?

Here’s how I use try/catch together with ExceptionHandlingScope so errors don’t bring things down — instead, they’re managed cleanly and users stay unaffected.

👉 jeppe-spanggaard.dk/blogs/sharep...

#SharePoint #CSOM
SharePoint's Server-Side Try-Catch: ExceptionHandlingScope
Discover how SharePoint's ExceptionHandlingScope can optimize your API calls, reduce costs, and enhance performance with server-side exception handling.
jeppe-spanggaard.dk
October 20, 2025 at 6:55 PM
Ever clicked “Save” a dozen times and triggered dozens of webhook events?

Here’s how I debounce SharePoint webhooks — collapsing bursts into meaningful batches, filtering out noise, and only processing what truly matters.

👉 jeppe-spanggaard.dk/blogs/optimi...

#SharePoint #Webhooks #CSharp
Optimize SharePoint Webhooks: Debouncing User Actions
Learn how to effectively debounce SharePoint webhooks to optimize performance and reduce unnecessary operations when users frequently click save.
jeppe-spanggaard.dk
October 14, 2025 at 6:55 PM
Using Graph batch is great—until a few calls fail and you end up retrying blindly.

This is how I build smart retry into Graph batches: detecting failures, retrying just what needs retry, and keeping things stable.

👉 jeppe-spanggaard.dk/blogs/graph-...

#MicrosoftGraph #CSharp #GraphAPI #Resilience
Stop Retrying Everything: Smart Graph Batch Retry Logic
Learn smart retry logic for Microsoft Graph batching to optimize API calls, reduce throttling, and enhance user experience.
jeppe-spanggaard.dk
September 22, 2025 at 6:19 PM
Batching multiple file downloads with Microsoft Graph? It’s way too easy to lose track of which byte stream belongs to which file. 😬

I wrote up a friendly walkthrough of request-ID mapping so each response reliably connects to its source.

Read the post: jeppe-spanggaard.dk/blogs/graph-...
Graph Batching for File Content: Mapping Requests to Responses
How to handle Graph batching when downloading file content and mapping responses back to original requests
jeppe-spanggaard.dk
September 10, 2025 at 6:31 PM
Behind the scenes of how I optimize CSOM to get SharePoint apps running more smoothly.

One small change — batching into a single ExecuteQueryAsync() — can cut down dozens of round-trips and make apps feel faster.

👉 jeppe-spanggaard.dk/blogs/csom-p...

#SharePoint #CSOM #CSharp
CSOM Performance Optimization: Why You Should Batch Your SharePoint Operations
Learn how to dramatically improve CSOM performance by batching operations instead of executing them one by one
jeppe-spanggaard.dk
August 31, 2025 at 6:49 AM
🚀 New blog post:
This is how I use DevProxy to spot RU-hungry CRUD ops in Microsoft Graph & SharePoint before they throttle me in prod.
👉 jeppe-spanggaard.dk/blogs/devpro...
#CSharp #MicrosoftGraph #SharePoint #DevProxy #API
DevProxy: How to Test API Rate Limiting and Throttling in C# Development
Discover how to simulate Microsoft Graph and SharePoint throttling locally using DevProxy, and prevent production slowdowns before they happen.
jeppe-spanggaard.dk
August 10, 2025 at 7:30 AM
Ever wish SharePoint had SQL-style joins? 🧠

I just dropped a blog on using CSOM + CAML to stitch together multiple lists via lookup fields 🔗

It’s cleaner than you'd think 😉

Read it here 👉 jeppe-spanggaard.dk/blogs/joinin...
Efficient Multi-List Queries in CSOM: Using CAML Joins with CAMLEX
Learn how to efficiently query multiple SharePoint lists using CAML joins instead of multiple API calls to avoid throttling
jeppe-spanggaard.dk
July 28, 2025 at 7:55 PM
🚀 New Blog Post: "Export files as zip from SharePoint"

Struggling to download multiple files from SharePoint as a ZIP via code? I share how I solved this with C#, Microsoft Graph API, and efficient memory handling!

Read more: jeppe-spanggaard.dk/blogs/downlo...
Export files as zip from SharePoint
Download files from SharePoint as a zip, as is possible through the UI
jeppe-spanggaard.dk
December 1, 2024 at 5:09 PM