WATCH OVERVIEW VIDEO
A Quick Video about how you can get started with the .NET 7 Web API Boilerplate. Watch this first!π₯
Subscribe to my YouTube
ChannelTo Get started, Insure you Signin in Visual Studio 2019 or 2022 with an account registered in Azure Portal and having an active subscription
Step 1: Right click Host project as shown on the picture below and click Publish

Step 2: Select Azure from the Dialog as shown below and click Next

Step 3: Select Azure App Service (Windows) as shown below and click Next

Step 4: Click the green Plus(+) button to create an new App Service Instance. Notice the Subscription name, you must select your active subscription.

Step 5: Write your Api name, this will form part of your application link(url)
Select same Subscription name as previously
Click New on Resource group to create new resource group.

Step 6: Write a Resource group name, this is a grouping for resource to be created in Azure. I wrote Mango-RG, write your own resource group name. Click Ok to save it.

Step 7: Notice Our Resource group name appears. Now click New to create a new Hosting plan

Step 8: Give a Hosting Plan name, Location I kept the default, but you may need to select the closest area to you. Click dropdown on Size, select Free, this is a free plan, you are welcome to choose any you can afford through your subscription. Click Ok.

Step 9: Click Create as shown below, at this point your resources will be created in Azure Portal

Step 10: Notice your Api Application instance has been created. Now Click finish.

Step 11: At this point we can see all our resources.
Before we start configuring, do the following
Install these packages in Host project, make sure they are of the same version as installed in Infrastructure. Doing this help avoid errors later.
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.Tools
Now back to publish tab in Visual Studio.
Click Configure under Service Dependencies to create database resources.

Step 12: Select Azure SQL Database to create database hosted in Azure. Click Next

Step 12: Select the same subscription as before. Click the green Plus(+) button to create database server and database in Azure.

Step 13: Give a database name, notice the validation error! A database server needs to be first created. Now click the New button to create it.

Step 14: Give database server name, Location (nearest to you), admin username (used to access this database server) and password. Click Ok, to start creating the server and database in Azure Portal. This will take few minutes. NB note down username and password. I usually add them to a notepad.

Step 15: Notice our database server and database are created, see within green block. Now select this row and click Next.

Step 16: Fill in ConnectionString key as it in appsetting.json, mine is DefaultConnection,
Username and Password create in Step 14. Click the green block to copy the connection and save it on notepad or anywhere you will be able to find it. Click None

Step 17: Click finish and restore of NuGet packages will begin. Make sure NuGet packages is checked.

NB. If you get an error, follow Step 11. The error is caused by package restore for Host project, it needs Microsoft.EntityFrameworkCore.SqlServer and
Microsoft.EntityFrameworkCore.Tools for database migration. The tool tries to install them for you but it only picks versions 6.0.0 which are not the same versions as those installed in Infrastructure. Get that?
You will be taken back to Step 12 but donβt panic, you wonβt have to create database and database server as they are already created.
The restore should be successful as shown below.

Click Close
NB. Replace the ConnectionStrings in both database.json and hangfire.json with the one you have just created above. This means youβre Api will now point to Azure database server.
Step 18: Login Azure Portal to verify all resources we have just created. Notice all our resources are on the list. Nice. Now let go to Visual Studio and deploy our Api

Step 19: In Visual Studio, Click Publish (green block), this mean you are now deploying you Api to the Azure and can be access on the internet using the url on Site as indicated on the picture.

Publish is successful and the Api was automatically launched in a browser

Deployment error as the Api is launched in the browser.

Step 20: This error is caused by Azure blocking all public access to the database server via IP address.
To see this on the Log file that our application generate, do the following
- Open a new tab in your browser
- Write your
Api url and add .scm before azurewebsites.net
Example: https://mangoapi-test.scm.azurewebsites.net/ - This is a Kudu dashboard that can be used for debuging your deployed applications, in our case we are debugging our
Api - Click on Debug console as indicated by an arrow, select CMD

- Click
site

- Click
wwwroot

- Look for
Logs folder

- Click the download icon where the arrow points to, this should open a new browser tab with your
log file.

This is what the log exception says
Microsoft.Data.SqlClient.SqlException (0x80131904): Cannot open server 'mangotestdbdbserver' requested by the login. Client with IP address '20.****.40.0' is not allowed to access the server. To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range.
I now need to grant this IP address access to my database server in Azure Portal
- Go to the
database server you have created, in my case is mangotestdbserver

Click on SQL databases to view your database, it will appear in the table, click it.

- Click
Set server firewall within the red block

- Click Add a
firewall rule

- On the dialog I add my local
IP address (suggested by azure) and IP address as show from the log because I want this IP address and my local machine to have access to the SQL Server

Click Save
Go to Visual Studio and Click Publish (Step 19)
Now the launched browser shows 404, relax you have done it.

To view Api documentation in swagger, append /swagger/index.html to the url and you should see your api.
See below

Testing via Postman #
You are welcome to use any Api client you like for testing.
Add your deployed Api url like I did below

Letβs test get-token endpoint

Click Sent
I get a response back and it includes a token as expected!!!!

Thatβs it guys, hope this can help someone. Screenshots are not of the best quality.
The deployed Api can be accessed here https://mangoapi-test.azurewebsites.net/swagger/index.html