Send Emails using C# .NET with Azure Functions and SendGrid Bindings
Learn how to send emails from Azure Functions using C# .NET and the SendGrid Bindings
Integrate ngrok into ASP.NET Core startup and automatically update your webhook URLs
Learn to integrate ngrok into ASP.NET Core's startup process to create secure public tunnels and automatically handle Twilio's webhooks with a single command
Send Scheduled SMS with C# .NET and Twilio Programmable Messaging
Learn how to schedule SMS with C# .NET and Twilio Messaging's latest feature: Scheduled Messaging!
How to get ASP.NET Core's local server URLs
Learn how to access the ASP.NET Core's local server URLs in Program.cs, in controllers using Dependency Injection, and in IHostedService or BackgroundService.
How to send SMS with C# .NET and Azure Functions using Twilio Output Binding
Twilio posts cloud communications trends, customer stories, and tips for building scalable voice and SMS applications with Twilio's APIs.
How to send recurring emails in C# .NET using SendGrid and Quartz.NET
Learn how to send recurring emails with C# .NET using Quartz.NET and SendGrid's APIs
Send Emails using the SendGrid API with .NET 6 and C#
Learn how to send emails using the SendGrid API with a .NET 6 console application and C#
How to run Umbraco 9 as a Linux Docker container
Umbraco 9 has been built on top of .NET 5. As a result, you can now containerize your Umbraco 9 websites in Linux containers. Learn how to containerize Umbraco 9 with Docker.
Deploying Umbraco 9 to Azure App Service for Linux
Learn how to create the Azure infrastructure using the Azure CLI to host an Umbraco 9 website using Azure SQL and Azure App Service for Linux, and how to deploy your Umbraco 9 site.
Thoughts and tips on moving to Umbraco 9 from Umbraco 8
.NET Core was a groundbreaking change to the .NET platform. It is blazing fast, open-source, and cross-platform across Windows, Linux, and macOS. With Umbraco 9, we finally get to enjoy all the new innovations from .NET Core. Read about my experience upgrading an Umbraco 8 website to Umbraco 9.
How to create a Discord Bot using the .NET worker template and host it on Azure Container Instances
Learn how to develop a Discord bot using the .NET worker template, containerize it using Docker, push the container image to Azure Container Registry, and host it on Azure Container Instances.
Guest on .NET Docs Show: Making Phone Calls 📞 from Blazor WebAssembly with Twilio Voice
Earlier this week, the folks at the .NET Docs Show invited me over to talk about Twilio, .NET, and Blazor WebAssembly. We discussed different architectures, workflow diagrams, Twilio capabilities, and how to integrate them using ASP.NET WebAPI's and Blazor WebAssembly.
How to bypass Captchas in Selenium UI tests
Captchas are often used as a way to combat spam on website forms. Unfortunately, this also makes it harder to verify the functionality of the forms using UI tests like Selenium. To work around this you can extend your website with a bypass form.
Create ZIP files on HTTP request without intermediate files using ASP.NET Core MVC, Razor Pages, and endpoints
The ZipArchive wraps any stream to read, create, and update ZIP archives. You can send the result to the client using ASP.NET MVC, Razor Pages, and endpoints.
Download the right ChromeDriver version & keep it up to date on Windows/Linux/macOS using C# .NET
Chrome frequently updates automatically causing ChromeDriver versions to mismatch. Using C# .NET you can download the correct version of the ChromeDriver and keep it up-to-date.
Use project Tye to host Blazor WASM and ASP.NET Web API on a single origin to avoid CORS
Using Microsoft's experimental Project Tye, you configured the proxy to forward requests to '/api' to the Web API, and all other requests to the Blazor WASM client.
How to deploy Blazor WebAssembly to Netlify
Now that you can run .NET web applications without server-side code, you can deploy these applications to various static site hosts, such as Netlify.
Use YARP to host client and API server on a single origin to avoid CORS
Using Microsoft's new reverse proxy "YARP", you configured the proxy to forward requests to '/api' to the Web API, and all other requests to the Blazor WASM client.
Introducing Online GZIP de/compressor, built with Blazor WebAssembly
Using Blazor WASM and the GZIP API's I created this little web application which you can use to compress and decompress multiple files using GZIP.
Pre-render Blazor WebAssembly at build time to optimize for search engines
Using pre-rendering tools like react-snap, you can pre-render Blazor WASM. Additionally, you can integrate these pre-rendering tools inside of your continuous integration and continuous deployment pipelines.