Most developers starting a project today will want to provide web application support, even if the initial application is a desktop application. Users no longer want to be tied to the desktop; they want to spread their wings and use devices of every sort anywhere they want to access their data. The following table provides a list of the kinds of web applications you can build using C# 7.
Project Type | Supported Environments | Description |
ASP.NET Dynamic Data Entries Web Site | New Web Site | Creates a data-specific website that relies on dynamic data access techniques using either Entity Framework (EF) or LINQ-to-SQL programming. The structure consists of a presentation layer, a data layer, data source mapping, and the data store. |
ASP.NET Empty Web Site | New Web Site, ASP.NET Web Application (.NET Framework), ASP.NET Core Web Application (.NET Core), ASP.NET Core Web Application (.NET Framework) | Creates an empty website that doesn't include any files, but does include basic support. |
ASP.NET Web Forms Site | New Web Site, ASP.NET Web Application (.NET Framework) | Creates a basic website that includes standard forms that are ready to fill out and use. |
ASP.NET Web Site (Razor v3) | New Web Site | Creates a basic website that includes standard forms. The form language relies on the Razor language (CSHTML) which is based on C#. Essentially, this kind of project is designed to make you more efficient, but only if you're willing to learn the Razor language. |
Azure API App | ASP.NET Web Application (.NET Framework) | Constructs a cloud-based application environment that allows public access of services using a Web API. You can publish your APIs so that others can access the code to create a variety of application types. |
MVC (Model-View-Controller) | ASP.NET Web Application (.NET Framework) | Creates a basic website based on the Model-View-Controller approach, in which the model encapsulates data, the view displays the data to the user, and the controller encapsulates business logic used to access the data. The goal is to create applications quickly and in a manner that is easy to update and works well with teams. |
Single Page Application | ASP.NET Web Application (.NET Framework) | Constructs an application environment that is meant to interact with a Web API using a combination of HTML5, CSS3, and JavaScript. The single page represents a starting point that you can use to develop a much larger application. |
WCF Service | New Web Site | Defines a method for accessing services using the Windows Communication Foundation (WCF) framework rather than a more standard Web API. An oversimplification of the differences from the end user (developer access) perspective is that WCF relies on SOAP-based services, while a Web API generally relies on RESTful services. |
Web API | ASP.NET Web Application (.NET Framework), ASP.NET Core Web Application (.NET Core), ASP.NET Core Web Application (.NET Framework) | Defines a method for accessing services using a Web API rather than WCF. This project type represents the direction that modern applications are taking to simplify code access using RESTful techniques. |
Web Application | ASP.NET Core Web Application (.NET Core), ASP.NET Core Web Application (.NET Framework) | Creates a basic website that relies on the ASP.NET Core approach rather than the full functionality of the .NET Framework. This application can use the MVC methodology to development and includes support for Web API projects (using the RESTful programming technique). |