---
title: "Swimburger - Blog - Page 4"
description: "Swimburger.net is a blog about .NET, cloud, web development, and whatever comes across Swimburger's plate. Swimburger.net is run by Niels Swimberghe."
canonical: "https://swimburger.net/blog/4"
---

[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/hwffejap/net-bot-doctor-thumbnail.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/hwffejap/net-bot-doctor-thumbnail.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/hwffejap/net-bot-doctor-thumbnail.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/hwffejap/net-bot-doctor-thumbnail.png 500w" sizes="250px" width="250" height="250" alt=".NET Bot dressed up as a doctor" decoding="async" loading="lazy"></picture>

## Don't use HttpContext.Current, especially when using async

3/25/2021 - .NET

Avoid using HttpContext.Current if possible, especially in asynchronous code. Use the properties provided on the Page or Controller instead and pass them on to the asynchronous code.



](/blog/dotnet/dont-use-httpcontext-current-especially-when-using-async)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002501250625312/media/krafsxcd/aspdotnet-zip-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002501250625312/media/krafsxcd/aspdotnet-zip-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5002501250625312/media/krafsxcd/aspdotnet-zip-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5002501250625312/media/krafsxcd/aspdotnet-zip-square.png 500w" sizes="250px" width="250" height="250" alt=".NET Bot holding a package with &quot;ZIP&quot; on it. " decoding="async" loading="lazy" style="background-color:#fff"></picture>

## Create ZIP files on HTTP request without intermediate files using ASP.NET Core MVC, Razor Pages, and endpoints

3/21/2021 - .NET

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.



](/blog/dotnet/create-zip-files-on-http-request-without-intermediate-files-using-aspdotnet-mvc-razor-pages-and-endpoints)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/bwpo5hbt/blazor-cloudflare-pages-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/bwpo5hbt/blazor-cloudflare-pages-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/bwpo5hbt/blazor-cloudflare-pages-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/bwpo5hbt/blazor-cloudflare-pages-square.png 500w" sizes="250px" width="250" height="250" alt="Blazor logo pointing to the GitHub logo pointing to the Cloudflare Pages logo" decoding="async" loading="lazy" style="background-color:#fff"></picture>

## How to deploy Blazor WebAssembly to Cloudflare Pages

3/14/2021 - .NET

Blazor WebAssembly can be served as static files. These files can be hosted in static hosting services such as Cloudflare Pages.



](/blog/dotnet/how-to-deploy-blazor-webassembly-to-cloudflare-pages)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002459542608448/media/23pjfhze/chrome-csharp-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002459542608448/media/23pjfhze/chrome-csharp-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5002459542608448/media/23pjfhze/chrome-csharp-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5002459542608448/media/23pjfhze/chrome-csharp-square.png 500w" sizes="250px" width="250" height="250" alt="C# and Chrome logo" decoding="async" loading="lazy" style="background-color:#0c0c0c"></picture>

## Download the right ChromeDriver version & keep it up to date on Windows/Linux/macOS using C# .NET

3/7/2021 - .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.



](/blog/dotnet/download-the-right-chromedriver-version-and-keep-it-up-to-date-on-windows-linux-macos-using-csharp-dotnet)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/eryi1kgw/twilio-authentication-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/eryi1kgw/twilio-authentication-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/eryi1kgw/twilio-authentication-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/eryi1kgw/twilio-authentication-square.png 500w" sizes="250px" width="250" height="250" alt="An illustration of a lock and a key. The key handle is in the shape of the Twilio logo." decoding="async" loading="lazy" style="background-color:#fff"></picture>

## Better Authentication with Twilio API Keys

3/1/2021 - .NET

API Keys are now the preferred way to authenticate with Twilio's API. You can create as many API Keys as you need and remove them if they are compromised or no longer used.



](/blog/dotnet/better-authentication-with-twilio-api-keys)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/bx5dy2pl/blazor-heroku-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/bx5dy2pl/blazor-heroku-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/bx5dy2pl/blazor-heroku-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/bx5dy2pl/blazor-heroku-square.png 500w" sizes="250px" width="250" height="250" alt="Heroku and Blazor logo" decoding="async" loading="lazy" style="background-color:#fff"></picture>

## How to deploy Blazor WebAssembly to Heroku

2/28/2021 - .NET

Heroku doesn't officially offer a static hosting service but does have an experimental 'buildpack' which gives you static hosting capabilities you can use to deploy and host Blazor WebAssembly.



](/blog/dotnet/how-to-deploy-blazor-webassembly-to-heroku)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/l3rhhbsm/blazor-amplify-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/l3rhhbsm/blazor-amplify-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/l3rhhbsm/blazor-amplify-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/l3rhhbsm/blazor-amplify-square.png 500w" sizes="250px" width="250" height="250" alt="Blazor logo pointing to the GitHub logo pointing to the AWS Amplify logo." decoding="async" loading="lazy" style="background-color:#fff"></picture>

## How to deploy Blazor WebAssembly to AWS Amplify

2/21/2021 - .NET

Blazor WebAssembly can be served as static files. These files can be hosted in static hosting services such as AWS Amplify.



](/blog/dotnet/how-to-deploy-blazor-webassembly-to-aws-amplify)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover/media/devc0h3n/chrome-powershell-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover/media/devc0h3n/chrome-powershell-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover/media/devc0h3n/chrome-powershell-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover/media/devc0h3n/chrome-powershell-square.png 500w" sizes="250px" width="250" height="250" alt="PowerShell logo and Google Chrome logo" decoding="async" loading="lazy" style="background-color:#0c0c0c"></picture>

## Download the right ChromeDriver version & keep it up to date on Windows/Linux/macOS using PowerShell

2/18/2021 - PowerShell

Chrome frequently updates automatically causing ChromeDriver versions to mismatch. Using PowerShell you can download the correct version of the ChromeDriver and keep it up-to-date.



](/blog/powershell/download-the-right-chromedriver-on-windows-linux-macos-using-powershell)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002459542608448/media/ggrmwooo/dotnet-yarp-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5002459542608448/media/ggrmwooo/dotnet-yarp-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5002459542608448/media/ggrmwooo/dotnet-yarp-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5002459542608448/media/ggrmwooo/dotnet-yarp-square.png 500w" sizes="250px" width="250" height="250" alt=".NET Bot building an application" decoding="async" loading="lazy" style="background-color:#fff"></picture>

## Use project Tye to host Blazor WASM and ASP.NET Web API on a single origin to avoid CORS

2/14/2021 - .NET

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.



](/blog/dotnet/use-project-tye-to-host-blazor-wasm-and-aspdotnet-web-api-on-a-single-origin)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/vjjh5cag/download.jpg" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/vjjh5cag/download.jpg 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/vjjh5cag/download.jpg 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/vjjh5cag/download.jpg 500w" sizes="250px" width="250" height="250" alt="Japanese Ramen Soup" decoding="async" loading="lazy"></picture>

## Introducing online base64 image encoder

2/10/2021 - Web

This little tool generates the base64 data URL for the file you select without uploading it to a server. The base64 encoding happens inside your browser.



](/blog/web/introducing-online-base64-image-encoder)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/2qddoewj/blazor-netlify-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/2qddoewj/blazor-netlify-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/2qddoewj/blazor-netlify-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/2qddoewj/blazor-netlify-square.png 500w" sizes="250px" width="250" height="250" alt="Blazor logo pointing to the GitHub logo and the GitHub logo pointing to the Netlify logo." decoding="async" loading="lazy" style="background-color:#fff"></picture>

## How to deploy Blazor WebAssembly to Netlify

2/7/2021 - .NET

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.



](/blog/dotnet/how-to-deploy-blazor-webassembly-to-netlify)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/1yeolfae/powershell-and-azure-application-insights-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/1yeolfae/powershell-and-azure-application-insights-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/1yeolfae/powershell-and-azure-application-insights-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/1yeolfae/powershell-and-azure-application-insights-square.png 500w" sizes="250px" width="250" height="250" alt="PowerShell and Azure Application Insights logo" decoding="async" loading="lazy" style="background-color:#0c0c0c"></picture>

## Run Custom Availability Tests using PowerShell and Azure Application Insights, even on-premises

2/4/2021 - Azure

The built-in availability tests in Azure Application Insights are great but very basic. You can create your own custom availability test. Learn how to create a custom availability test using PowerShell and Application Insight's .NET SDK.



](/blog/azure/run-availability-tests-using-powershell-and-azure-application-insights)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/zlqpnxpn/chrome-edge-powershell-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/zlqpnxpn/chrome-edge-powershell-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/zlqpnxpn/chrome-edge-powershell-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/zlqpnxpn/chrome-edge-powershell-square.png 500w" sizes="250px" width="250" height="250" alt="Screenshot of HTTP Request in PowerShell" decoding="async" loading="lazy" style="background-color:#0c0c0c"></picture>

## Video: Copy HTTP Requests from Chrome/Edge DevTools to PowerShell/cURL/Fetch

2/3/2021 - Web

You can copy the recorded HTTP requests the from Chrome and Edge DevTools to PowerShell/cURL/Fetch. This allows you to quickly replay HTTP requests from the console/command line saving saving you time!



](/blog/web/video-copy-http-requests-from-chrome-edge-devtools-to-powershell-curl-fetch)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/0fdno1q3/screenshot-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/0fdno1q3/screenshot-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/0fdno1q3/screenshot-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/0fdno1q3/screenshot-square.png 500w" sizes="250px" width="250" height="250" alt="Microsoft Edge and Google Chrome logo" decoding="async" loading="lazy" style="background-color:#333"></picture>

## Video: Take screenshots using built-in commands in Chrome/Edge

1/30/2021 - Web

Chromium browsers such as Chrome and Edge have many lesser known features. One of those features is the ability to take screenshots of your current tab content.



](/blog/web/video-take-screenshots-using-built-in-commands-in-chromeedge)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/3cxh1whu/dotnet-yarp-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/3cxh1whu/dotnet-yarp-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/3cxh1whu/dotnet-yarp-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/3cxh1whu/dotnet-yarp-square.png 500w" sizes="250px" width="250" height="250" alt=".NET Bot building an application" decoding="async" loading="lazy" style="background-color:#fff"></picture>

## Use YARP to host client and API server on a single origin to avoid CORS

1/24/2021 - .NET

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.



](/blog/dotnet/use-yarp-to-host-client-and-api-server-on-a-single-origin)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/q02nayce/blazor-github-firebase-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/q02nayce/blazor-github-firebase-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/q02nayce/blazor-github-firebase-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/q02nayce/blazor-github-firebase-square.png 500w" sizes="250px" width="250" height="250" alt=" Blazor logo next to an arrow pointing to the GitHub logo next to a double arrow pointing from the GitHub logo to the Firebase Hosting logo " decoding="async" loading="lazy" style="background-color:#fff"></picture>

## Video: How to deploy Blazor WebAssembly to Firebase Hosting

1/21/2021 - .NET

With ASP.NET Blazor WebAssembly you can create .NET applications that run completely inside of the browser. The output of a Blazor WASM project are all static files. You can deploy these applications to various static site hosts like Firebase Hosting.



](/blog/dotnet/video-how-to-deploy-blazor-webassembly-to-firebase-hosting)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/aoihtoda/512x512.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/aoihtoda/512x512.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/aoihtoda/512x512.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/aoihtoda/512x512.png 500w" sizes="250px" width="250" height="250" alt=".gz on a blue background" decoding="async" loading="lazy" style="background-color:#007bff"></picture>

## Introducing Online GZIP de/compressor, built with Blazor WebAssembly

1/10/2021 - .NET

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.



](/blog/dotnet/introducing-online-gzip-decompressor)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/3tmmtvxg/blazor-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/3tmmtvxg/blazor-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/3tmmtvxg/blazor-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/3tmmtvxg/blazor-square.png 500w" sizes="250px" width="250" height="250" alt="Blazor logo" decoding="async" loading="lazy" style="background-color:#fafafa"></picture>

## Pre-render Blazor WebAssembly at build time to optimize for search engines

1/3/2021 - .NET

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.



](/blog/dotnet/pre-render-blazor-webassembly-at-build-time-to-optimize-for-search-engines)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/ttaf0suj/blazor-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/ttaf0suj/blazor-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/ttaf0suj/blazor-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/ttaf0suj/blazor-square.png 500w" sizes="250px" width="250" height="250" alt="Blazor logo" decoding="async" loading="lazy" style="background-color:#fafafa"></picture>

## Fix Blazor WebAssembly PWA integrity checks

12/30/2020 - .NET

The service-worker-assets.js file is generated during publish and any modification made to the listed files after publish will cause the integrity check to fail.



](/blog/dotnet/fix-blazor-webassembly-pwa-integrity-checks)[

<picture><img class="blog-post-card__image" src="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/sabcadlf/blazor-github-firebase-square.png" srcset="/cdn-cgi/image/width=250,format=auto,quality=90,height=250,fit=cover,gravity=0.5x0.5/media/sabcadlf/blazor-github-firebase-square.png 250w, /cdn-cgi/image/width=375,format=auto,quality=90,height=375,fit=cover,gravity=0.5x0.5/media/sabcadlf/blazor-github-firebase-square.png 375w, /cdn-cgi/image/width=500,format=auto,quality=90,height=500,fit=cover,gravity=0.5x0.5/media/sabcadlf/blazor-github-firebase-square.png 500w" sizes="250px" width="250" height="250" alt=" Blazor logo next to an arrow pointing to the GitHub logo next to a double arrow pointing from the GitHub logo to the Firebase Hosting logo " decoding="async" loading="lazy" style="background-color:#fff"></picture>

## How to deploy Blazor WebAssembly to Firebase Hosting

12/27/2020 - .NET

With ASP.NET Blazor WebAssembly you can create .NET applications that run completely inside of the browser. The output of a Blazor WASM project are all static files. You can deploy these applications to various static site hosts like Firebase Hosting.



](/blog/dotnet/how-to-deploy-blazor-webassembly-to-firebase-hosting)

[Previous Page](/blog/3#main-content)[Show All Posts](/blog/all#main-content)[Next Page](/blog/5#main-content)

[Prev](/blog/3#main-content)[Next](/blog/5#main-content)
