ASP.NET has established itself as one of the most productive environments for building web applications and more developers are switching over every day. The 2.0 release of ASP.NET builds on the same componentry of 1.1, improving productivity of developers even further by providing standard implementations of common Web application features like membership, persistent user profile, and Web parts, among others. The 3.5 release adds several new controls including the flexible ListView and the LinqDataSource, as well as integrated suport for ASP.NET Ajax. This course will introduce practicing .NET developers to the comprehensive Web development platform that ASP.NET has become. We will cover fundamentals that have been in place since the 1.0 release, as well as all of the newer features found in the 2.0 and 3.5 releases with an emphasis on understanding how each new feature works and when to best apply it.
Scott has over 15 years of experience in commercial software
development and is a frequent speaker at national conferences,
and local user groups. Scott is a Microsoft MVP and has authored
books on several Microsoft technologies, including ASP.NET, C#,
and Windows Workflow.
Keith is a co-founder of Pluralsight, serving as CTO through 2014, where he helped build the initial content delivery system for Pluralsight, then focused on hiring an awesome team of developers in Utah to take it to the next level.
ASP.NET Architecture Hi, this is Fritz Onion with Pluralsight, and I'll be presenting this module on ASP. NET Architecture. What we're going to be focusing on in this module is a look at how ASP. NET fundamentally works. So we'll start off with a discussion of the architecture of ASP. NET, what happens when a request comes in for an aspx file, and how is that a service and how is it handled with respect to IIS. We'll talk about how ASP. NET integrates into IIS, both in IIS 6 and 7, as they differ somewhat, as well as the worker process and the ISAPI integration. Then we're going to step back and take a look at sort of the evolution of ASP. NET, how has it evolved over time and where is it today. So we'll look at some things like dynamic content, its history and classic ASP, as well as the newer server-side controls and data binding and declarative data binding models, so hopefully give you a sense for how pages are typically developed in ASP. NET and the fundamentals techniques for presenting dynamic content. We'll also take a look at the code-behind model, how do you specify a class that's going to be used in association with your page. We'll take a look at the page lifecycle, the sequence of events that occur every time a page is processed and how you can tap into them. Event handling as well, we'll look at how to handle events like PageLoad and PageInit, as well as server-side control events like click events for button controls. Then we'll finish up by looking at some special directories that are defined in ASP. NET for things like placing code and deployed assemblies, as well as a discussion of the shadow copying mechanism which makes it possible to deploy new binaries in your websites without having to shut down the web server. So that's going to be our goal, and we'll start off, as I mentioned, with a discussion of the general architecture and move on from there.
Control-based Programming Hi, this is Fritz Onion with Pluralsight, and we're going to be looking next at the control-based programming model in ASP. NET. Now specifically what I want to look at here is how controls interact with state on the server. So we're going to start off with a look at the difference between WebControls and HtmlControls, both of which are different categories of server-side controls in ASP. NET, talk about when you might want to use each one and what purposes they server, and what sort of overlap there is between the two class hierarchies. And then we'll turn our attention to state management, so how do controls maintain their state across postbacks in an ASP. NET page. And as we'll see, this is really one of the critical things you need to understand as you start working with ASP. NET and building ASP. NET pages. We had a brief introduction to server-side controls in our introductory module, and here we're going to spend more time really understanding how that state is managed and how you can influence the management of that state. So we'll talk about the state management and we'll also talk specifically about ViewState, which is a hidden field that can be used to transmit additional state information across postback requests, and most controls use it up to a certain extent. And we'll also touch on one of the newer features of ASP. NET that was released in version 2. 0 called ControlState, and this is distinct from ViewState and gives controls another repository which is similar in concept to ViewState, but is different in the sense that users are not allowed to turn it off, so it's used primarily to store behavioral state. So that's our goal here, to really understand the server-side control model and state management in ASP. NET pages.
User Interface Elements Hi, this is Fritz Onion with Pluralsight, and I'm going to be presenting this module on user interface elements of ASP. NET. Now this module is going to cover a collection of user interface features of the ASP. NET libraries, and we're going to start with a look at one of the most used features that came out with ASP. NET 2. 0 called master pages, and this is a technique for creating a common look and feel across collections of pages in your site. We'll then move on to themes, application themes, and this is a way of applying user interface elements to your various pages and controls. And we'll finish up with a look at the navigation controls, including the menu, the TreeView, as well as the SiteMapPath control, all of which are driven by a site map defined in your site.
Configuration Hi, this is Fritz Onion with Pluralsight, and in this module we're going to be taking a look at configuration in ASP. NET. Specifically, we're going to look at the configuration file format and how you add and remove elements that affect your ASP. NET applications. We'll talk about the hierarchal application of configuration files and the various places that you can put configuration files and how they impact each other. And then we'll look at some features that you might want to use as you're building your applications, specifically around configuration data. So we'll look at various ways of incorporating your own custom data into the configuration file, starting off with a very simple way of using the App_Settings element, and then looking at more comprehensive ways ranging all the way to CustomConfigurationSectionHandlers. Then we'll talk about some of the newer features of the configuration system that were introduced in ASP. NET. One is the ability to lock down configuration settings. One of the potential drawbacks of the XML configuration file format that. NET in general uses, and in this case ASP. NET, is that it creates a very open configuration system, so it's quite easy for anyone with access to the file system to make modifications to those configuration settings. So this was addressed somewhat in the version 2. 0 release with the ability to control who is allowed to modify which elements, depending on which ones you decide to configure. And then we'll finish up with a look at how to modify the configuration files in ASP. NET programmatically. If you want to build yourself a little admin page or some other utility that modifies configuration settings, it's quite easy to do.
ASP.NET Diagnostics and Health Monitoring My name is Keith Brown, and I'm going to be covering diagnostics and health monitoring in ASP. NET because, you know, things don't always go right with a web application. We're going to start off talking about diagnostics, and the primary diagnostic feature that ASP. NET has built-in is something called Tracing. This is a little bit different than. NET's tracing that comes from System. Diagnostics, it's the same idea, but it's a different infrastructure, although I will show you how to integrate the two to make them work smoothly together. We'll also take a look at some performance monitors that ASP. NET exposes so that you can check the health of a running application. We'll talk about how to debug an application if something goes wrong. And also talk about building your own custom error pages so that users get friendly errors. Then we'll move into health monitoring, which is a complete section unto itself. The idea with health monitoring is that we want to configure our application so that it logs important events or events that we think are interesting. And there can be many different logs, we can log to different places, these come through providers. We'll talk about how to build our own custom events to inject custom information into those logs, and I'll also show you how to write your own custom providers in case you have a log that Microsoft didn't, for example, anticipate.