Creating a new Web Application
Create new project
After clicking the New project link, you will see an improved Project Template window.
Search for the Web node in the Project Templates tree. You might notice that there are three new Project Templates: Empty ASP.NET Web Application, ASP.NET Web Application and ASP.NET MVC 2 Web Application.
In this post I'll show the ASP.NET Web Application template.
Select ASP.NET Web Application
New stuff in the this template
When you look at the Solution Explorer, you will notice that there more default folders and pages. Let me walk you through them.
There are some new default references.
The Microsoft.CSharp namespace contains classes that support compilation and code generation using the C# language.
The System.Web.ApplicationServices namespace provides classes that enable you to access ASP.NET forms authentication, roles, and profiles application services as Windows Communication Foundation (WCF) services.
The System.Web.DynamicData namespace contains classes that provide the core functionality for ASP.NET Dynamic Data. It also provides extensibility features that let you customize dynamic data behavior.
The Account folder
This folder holds a few default pages that provide default membership functionality. Yes, that's right, a membership provider is baked in this template.
The Login page
The Register page
The App_Data folder
In this folder you will find the membership database.
The scripts folder
Here you will find the CSS file that's used throughout the web application.
Wonder where the Webforms team got their inspiration from ;)
The default style
The Default and About page
The Default.aspx page has been here forever, but the About.aspx page is new. And it does exactly what you think it does. You can supply some information about you or your application in this page.
The Global.asax is there by default. A nice feature that has been added are inline comments that help you understand the most common application events.
1: namespace MyFirstWebApplication
3: public class Global : System.Web.HttpApplication
6: void Application_Start(object sender, EventArgs e)
8: // Code that runs on application startup
12: void Application_End(object sender, EventArgs e)
14: // Code that runs on application shutdown
18: void Application_Error(object sender, EventArgs e)
20: // Code that runs when an unhandled error occurs
24: void Session_Start(object sender, EventArgs e)
26: // Code that runs when a new session is started
30: void Session_End(object sender, EventArgs e)
32: // Code that runs when a session ends.
33: // Note: The Session_End event is raised only when the sessionstate mode
34: // is set to InProc in the Web.config file. If session mode is set to StateServer
35: // or SQLServer, the event is not raised.
A default master page comes with the template as well.
Although I rather will use the Empty ASP.NET Web Application, I think this template is a great effort to push best practices to the novice Web Forms developer. This template helps you getting started with the most powerful features of Webforms.
What are your thoughts on this new template? Will you use it?