This tutorial shows how to create an ASP.NET web application and deploy it to a web app in Azure App Service by using Visual Studio 2015 or Visual Studio 2013. The tutorial assumes that you have no prior experience with using Azure or ASP.NET. On completing the tutorial, you'll have a simple web application up and running in the cloud.
The following illustration shows the completed application:
You need an Azure account to complete this tutorial. You can:
If you want to get started with Azure App Service before you sign up for an Azure account, go to Try App Service. There, you can immediately create a short-lived starter web app in App Service—no credit card required, and no commitments.
In this video, Scott Hanselman shows how easy it is to sign up for a free trial of Microsoft Azure. (Duration: 1:58)
If you don't have Visual Studio installed, Visual Studio Express for Web will be installed along with the SDK.
Depending on how many of the SDK dependencies you already have on your machine, installing the SDK could take a long time, from several minutes to a half hour or more.
Your first step is to create a web project in Visual Studio and a web app in Azure App Service. When that's done, you'll deploy the project to the web app to make it available on the Internet.
The diagram illustrates what you're doing in the create and deploy steps.
Open Visual Studio 2015 or Visual Studio 2013.
If you use Visual Studio 2013, the screens will be slightly different from the screenshots, but the procedures are essentially the same.
From the File menu, click New > Project.
In the New Project dialog box, click C# > Web > ASP.NET Web Application. If you prefer, you can choose Visual Basic.
Make sure that .NET Framework 4.5.2 is selected as the target framework.
Azure Application Insights monitors your web app for availability, performance, and usage. Clear the Add Application Insights to Project check box if you don't want to try it.
Name the application MyExample.
In the New ASP.NET Project dialog box, select the MVC template.
MVC is an ASP.NET framework for developing web apps.
Click Change Authentication.
In the Change Authentication dialog box, click No Authentication, and then click OK.
The sample application that you're creating won't enable users to log in. The Next steps section links to a tutorial that implements authentication and authorization.
In the New ASP.NET Project dialog box, leave the settings under Microsoft Azure unchanged, and then click OK.
The default settings specify that Visual Studio will create an Azure web app for your web project. In the next section of the tutorial, you'll deploy the web project to the newly created web app.
If you haven't already signed in to Azure, Visual Studio prompts you to do so. Sign in with the ID and password of the account that you use to manage your Azure subscription.
When you're signed in, the Configure Microsoft Azure Web App Settings dialog box asks you what resources you want to create.
In the Configure Microsoft Azure Web App Settings dialog box, enter a Web App name that is unique in the azurewebsites.net domain. For example, you can name it MyExample with numbers to the right to make it unique, such as MyExample810. If a default web name is created for you, it will be unique and you can use that.
If someone else has already used the name that you enter, you'll see a red exclamation mark to the right instead of a green check mark, and you'll need to enter a different name.
Azure will use this name as the prefix for your application's URL. The complete URL will consist of this name plus .azurewebsites.net (as shown next to the Web App name text box). For example, if the name is
MyExample810, the URL will be
MyExample810.azurewebsites.net. The URL has to be unique.
In the App Service plan drop-down, select Create new App Service plan.
The Next steps section has links to information about App Service plans.
Enter MyExamplePlan, or another name if you prefer, for the plan name.
In the Resource group drop-down, select Create new resource group.
The Next steps section has links to information about resource groups.
Enter MyExampleGroup, or another name if you prefer, for the resource group name.
In the Region drop-down list, choose the location that is closest to you.
This setting specifies which Azure datacenter your web app will run in. For this tutorial, you can select any region and it won't make a noticeable difference. But for a production web app, you want your web server to be as close as possible to the browsers that are accessing your site in order to minimize latency.
Leave the database field unchanged.
For this tutorial, you aren't using a database. The Next steps section links to a tutorial that shows how to use a database.
In a few seconds, Visual Studio creates the web project in the folder that you specified, and it creates the web app in the Azure region that you specified.
The Solution Explorer window shows the files and folders in the new project.
The Azure App Service Activity window shows that the web app has been created.
And you can see the web app in Server Explorer.
In the Azure App Service Activity window, click Publish MyExample to this Web App now.
In a few seconds, the Publish Web wizard appears.
Settings that Visual Studio needs to deploy your project to Azure have been saved in a publish profile. You can use the wizard to review and change those settings.
On the Connection tab of the Publish Web wizard, click Next.
Visual Studio provides all the settings you need to deploy to your Azure web app.
On the Settings tab, click Next.
You can accept the default values for Configuration and File Publish Options.
You can use the Configuration drop-down to deploy a Debug build for remote debugging. The Next steps section links to a tutorial that shows how to run Visual Studio in debug mode remotely.
On the Preview tab, click Publish.
If you want to see what files will be copied to Azure, you can click Start Preview before clicking Publish.
Visual Studio begins the process of copying the files to the Azure server.
The Output and Azure App Service Activity windows show what deployment actions were taken and report successful completion of the deployment.
Upon successful deployment, the default browser automatically opens to the URL of the deployed web app, and the application that you created is now running in the cloud. The URL in the browser address bar shows that the web app is loaded from the Internet.
Close the browser.
This section of the tutorial is optional. What you'll do is change the h1 heading of the home page, run the project locally on your development computer to verify the change, and then deploy the change to Azure.
Open the Views/Home/Index.cshtml or .vbhtml file in Solution Explorer, change the h1 heading from "ASP.NET" to "ASP.NET and Azure", and save the file.
Press Ctrl+F5 to see the updated heading by running the web app on your local computer.
localhost URL shows that it's running on your local computer. By default it's running in IIS Express, which is a lightweight version of IIS that's designed for use during web application development.
Close the browser.
In Solution Explorer, right-click the project, and choose Publish.
The Preview tab of the Publish Web wizard appears. If you needed to change any publish settings, you could choose a different tab, but now all you want to do is redeploy with the same settings.
In the Publish Web wizard, click Publish.
Visual Studio deploys the project to Azure and opens the web app in the default browser.
Tip: You can enable the Web One Click Publish toolbar for even quicker deployment. Click View > Toolbars, and then select Web One Click Publish. You can use the toolbar to select a profile, click a button to publish, or click a button to open the Publish Web wizard.
The Azure portal is a web interface that you can use to manage and monitor your Azure services, such as the web app that you just created. In this section of the tutorial, you look at some of what you can do in the portal.
In your browser, go to https://portal.azure.com, and sign in with your Azure credentials.
Click Browse All > Web Apps, and then click the name of your web app.
The Web app blade displays an overview of settings and usage statistics for your web app.
At this point, your web app hasn't had much traffic and may not show anything in the graph. If you browse to your application, refresh the page a few times, and then refresh the portal page, you'll see some statistics show up.
Click Settings to see more options for configuring your web app.
You see a list of types of settings.
Click Application settings to see an example of the kinds of settings that you can configure in the portal.
These are just a few of the portal's features. You can create new web apps, delete existing web apps, stop and restart web apps, and manage other kinds of Azure services, such as databases and virtual machines.
In this tutorial, you've seen how to create a simple web application and deploy it to an Azure web app. Here are some related topics and resources for learning more about web apps in Azure App Service:
Other ways to deploy a web project
In this tutorial, you saw the quickest way to create a web app and deploy it all in one operation. For an overview of other ways to deploy, by using Visual Studio or by automating deployment from a source control system, see How to deploy an Azure web app.
Visual Studio can also generate Windows PowerShell scripts that you can use to automate deployment. For more information, see Automate Everything (Building Real-World Cloud Apps with Azure).
How to manage a web app in Visual Studio
For information about web app management functions that you can do in Server Explorer, see Troubleshooting Azure web apps in Visual Studio.
How to troubleshoot a web app
Visual Studio provides features that make it easy to view Azure logs as they are generated in real time. You can also run in debug mode remotely in Azure. For more information, see Troubleshooting Azure web apps in Visual Studio.
How to add database and authorization functionality
For a tutorial that shows how to access a database and restrict some application functions to authorized users, see Deploy a secure ASP.NET MVC app with membership, OAuth, and SQL Database to an Azure web app.
How to add a custom domain name and SSL
For information about how to use SSL and your own domain (for example, www.contoso.com instead of contoso.azurewebsites.net), see the following resources:
How to avoid wake-up wait time after idle time-outs
By default, web apps are unloaded if they have been idle for some period of time. The first request after a web app has been unloaded has to wait for the web app to be reloaded. To avoid that wait time, you can enable the Always On feature. For more information, see the configuration options in How to configure web apps.
How to add real-time features such as chat
If your web app will include real-time features (such as a chat service, a game, or a stock ticker), you can get the best performance by using ASP.NET SignalR with the WebSockets transport method. For more information, see Using SignalR with Azure web apps.
How to choose between App Service, Azure Cloud Services, and Azure Virtual Machines for web applications
In Azure, you can run web applications in App Service Web Apps as shown in this tutorial, or in Cloud Services or in Virtual Machines. For more information, see Azure web apps, cloud services, and VMs: When to use which?.